feat(*): refactor dynamic vs. static structure and distinctions; make additional elements dynamic
This commit is contained in:
parent
7a0b808f24
commit
b1309908e5
126 changed files with 983 additions and 955 deletions
34
queries/views/media/music/week/summary.sql
Normal file
34
queries/views/media/music/week/summary.sql
Normal file
|
@ -0,0 +1,34 @@
|
|||
CREATE OR REPLACE VIEW optimized_week_music AS
|
||||
SELECT json_build_object(
|
||||
'week_artists', (
|
||||
SELECT json_agg(a ORDER BY a.plays DESC)
|
||||
FROM (
|
||||
SELECT * FROM week_artists ORDER BY plays DESC LIMIT 8
|
||||
) a
|
||||
),
|
||||
'week_albums', (
|
||||
SELECT json_agg(al ORDER BY al.plays DESC)
|
||||
FROM (
|
||||
SELECT * FROM week_albums ORDER BY plays DESC LIMIT 8
|
||||
) al
|
||||
),
|
||||
'week_genres', (
|
||||
SELECT json_agg(g ORDER BY g.plays DESC)
|
||||
FROM (
|
||||
SELECT * FROM week_genres ORDER BY plays DESC LIMIT 5
|
||||
) g
|
||||
),
|
||||
'recent_tracks', (
|
||||
SELECT json_agg(r ORDER BY r.listened_at DESC)
|
||||
FROM (
|
||||
SELECT * FROM recent_tracks ORDER BY listened_at DESC LIMIT 10
|
||||
) r
|
||||
),
|
||||
'week_summary', (
|
||||
SELECT json_build_object(
|
||||
'total_tracks', (SELECT COUNT(*) FROM week_tracks),
|
||||
'total_artists', (SELECT COUNT(*) FROM week_artists),
|
||||
'total_albums', (SELECT COUNT(*) FROM week_albums)
|
||||
)
|
||||
)
|
||||
) AS week_music;
|
Loading…
Add table
Add a link
Reference in a new issue