Счастливая пятница:
У меня есть столбец с именем view_date. Минимальное значение этой даты - это дата, когда видео было впервые помещено в указанный список воспроизведения c.
В том же запросе я пытаюсь получить;
- имя_плейста ,
- имя_ видео,
- min_view_date / для каждого видео / для списка воспроизведения (когда видео было добавлено в указанный c список воспроизведения)
- дата представления (позже мы имеем фильтр для этого в предложении Where)
- сумма просмотров для конкретной даты_действия.
Я надеялся использовать оконную функцию для получения min_view_date. Вот что я сделал до сих пор.
Select playlist_name, video_name,
first_value (video_name) over(partition by playlist_name order by view_date asc ROWS UNBOUNDED
PRECEDING) as min_view_date,
view_date
sum(views) as total_views
From t1
Where view_date > '01-Jan-2020'
Есть много проблем с этим запросом: функция окна первого значения делает так, чтобы минимальное значение одной из дорожек из списка воспроизведения оставалось одинаковым для всех треки плейлиста. Однако мне нужно фактическое уникальное значение для каждой дорожки в списке воспроизведения. Кроме того, фильтр Where ограничивает мои значения min_dates. Минимальная дата может быть 2016.
Пример результатов: Playlist_name : 'A' ..... video_name : 'AHty' .. .... min_view_date = '1-Feb-2017' ...... view_date = '7-Jan-2020' ..... total_views = 1500
Я использую Amazon Redshift
Есть предложения? ' Спасибо