-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSpotify Analytics
56 lines (49 loc) · 1.6 KB
/
Spotify Analytics
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# For this project, I downloaded Spotify data from Kaggle.
# Then I created a table to insert Spotify data into.
# Finally, I performed analytics on the data using SQL.
#Creating the table:
CREATE TABLE BIT_DB.Spotifydata (
id integer PRIMARY KEY,
artist_name varchar NOT NULL,
track_name varchar NOT NULL,
track_id varchar NOT NULL,
popularity integer NOT NULL,
danceability decimal(4,3) NOT NULL,
energy decimal(4,3) NOT NULL,
key integer NOT NULL,
loudness decimal(5,3) NOT NULL,
mode integer NOT NULL,
speechiness decimal(5,4) NOT NULL,
acousticness decimal(6,5) NOT NULL,
instrumentalness text NOT NULL,
liveness decimal(5,4) NOT NULL,
valence decimal(4,3) NOT NULL,
tempo decimal(6,3) NOT NULL,
duration_ms integer NOT NULL,
time_signature integer NOT NULL
)
#Then I inserted the Spotify Data .csv into the table.
#Next, I explored the data using the following SQL.
#First I determined the avg popularity, danceability, and energy by artist and track.
SELECT
artist_name
,track_name
,avg(popularity)
,avg(danceability)
,avg(energy)
FROM BIT_DB.spotifydata
GROUP BY artist_name, track_name
#Then I determined who the Top 10 artists are by popularity
SELECT track_name, artist_name, popularity
FROM BIT_DB.spotifydata
ORDER BY popularity desc
LIMIT 10
#Next I determined the average popularity of artists that have a popularity greater than 85.
SELECT artist_name, AVG(popularity)
FROM BIT_DB.Spotifydata
WHERE popularity>85
GROUP BY artist_name
ORDER BY popularity desc;
#Finally I identified the song with the longest duration and the artist.
SELECT artist_name, track_name, MAX(duration_ms)
FROM BIT_DB.Spotifydata;