-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_per_year_query.sql
More file actions
46 lines (35 loc) · 1.03 KB
/
data_per_year_query.sql
File metadata and controls
46 lines (35 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* Retrieving selected average features per year from Spotify data - 'tracks' table. */
with cte as (
SELECT * FROM (
SELECT loudness,
energy,
danceability,
speechiness,
instrumentalness,
liveness,
valence,
tempo,
duration_ms,
tr.popularity,
mode,
release_year = YEAR(release_date),
ROW_NUMBER() OVER (PARTITION BY YEAR(release_date) ORDER BY tr.popularity DESC) as track_rank
FROM tracks tr
WHERE YEAR(release_date) IS NOT NULL AND YEAR(release_date) BETWEEN 1920 AND 2021
) t
WHERE release_year BETWEEN 1941 AND 2021 AND track_rank <= 712 -- 712 = minimum track count per year for years 1941-2021
)
SELECT release_year,
loudness = AVG(loudness),
energy = AVG(energy),
danceability = AVG(danceability),
speechiness = AVG(speechiness),
instrumentalness = AVG(instrumentalness),
liveness = AVG(liveness),
valence = AVG(valence),
tempo = AVG(tempo),
duration_ms = AVG(duration_ms),
mode_sum = SUM(mode)
FROM cte
GROUP BY release_year
ORDER BY 1