У меня есть следующие данные с новостями (каждая статья с датой и временем публикации) и просмотрами (запись каждого просмотра с определенной отметкой времени):
news
id, published_timestamp
1, 2018-11-16 13:30:24
2, 2018-12-03 13:59:56
...
views
view_id, post_id, viewed_timestamp
a, 1, 2018-11-16 13:30:24
b, 1, 2018-11-16 13:30:25
c, 1, 2018-11-16 13:30:26
d, 2, 2018-12-03 13:59:56
e, 2, 2018-12-03 13:59:57
f, 2, 2018-12-05 13:59:57
...
Получение пожизненных просмотров каждой новостной статьи было бы просто:
SELECT
post_id, count(view_id)
FROM views
GROUP BY post_id
Как мне написать SQL-запрос (я использую AWS Redshift), который может объединять представления относительно опубликованной даты и времени? Например, я хочу получить только просмотры для каждой статьи в течение 1 дня с момента ее публикации.