-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsample_queries.sql
35 lines (29 loc) · 979 Bytes
/
sample_queries.sql
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
-- Most played artist
SELECT t.artists, COUNT(la.track_id) AS play_count
FROM listening_activity la
JOIN tracks t ON la.track_id = t.track_id
GROUP BY t.artists
ORDER BY play_count DESC
LIMIT 1;
-- Top 10 played songs (change limit to increase number of songs)
SELECT t.track_title, t.artists, COUNT(la.track_id) AS play_count
FROM listening_activity la
JOIN tracks t ON la.track_id = t.track_id
GROUP BY t.track_id, t.track_title, t.artists
ORDER BY play_count DESC
LIMIT 10;
-- Running since
SELECT MIN(playback_timestamp) AS first_timestamp
FROM listening_activity;
-- Number of different songs played
SELECT MAX(track_id) FROM tracks;
-- Number of songs played
SELECT MAX(activity_id) FROM listening_activity;
-- Approximate playing time:
SELECT
CONCAT(
FLOOR(SUM(playback_duration_ms) / 3600000), ' hours and ',
FLOOR((SUM(playback_duration_ms) % 3600000) / 60000), ' minutes'
) AS total_playback_time_formatted
FROM
listening_activity;