coryd.dev/queries/views/media/music/recent_tracks.sql

35 lines
666 B
SQL

CREATE OR REPLACE VIEW recent_tracks AS
SELECT
ol.id,
ol.listened_at,
ol.track_name,
ol.artist_name,
ol.album_name,
ol.album_key,
ol.artist_art,
ol.artist_genres,
ol.genre_name,
ol.artist_country,
ol.album_art,
ol.artist_url,
ol.genre_url,
json_build_object(
'title',
ol.track_name,
'subtext',
ol.artist_name,
'alt',
CONCAT(ol.track_name, ' by ', ol.artist_name),
'url',
ol.artist_url,
'image',
ol.album_art,
'played_at',
ol.listened_at
) AS chart
FROM
optimized_listens ol
WHERE
TO_TIMESTAMP(ol.listened_at) >= NOW() - INTERVAL '7 days'
ORDER BY
TO_TIMESTAMP(ol.listened_at) DESC;