Trouver les artistes les plus populaires
Jusqu’ici, nous n’avons pas pu relier les ventes de morceaux à un artiste. Changeons cela ! Vous allez utiliser des expressions de table communes pour croiser des données de deux tables et identifier l’artiste ayant le plus de minutes écoutées. Avant de commencer, jetez un œil aux tables album et artist dans la fenêtre de résultat.
Cet exercice fait partie du cours
Manipulation de données dans Snowflake
Instructions
- Définissez une CTE
artist_infoqui fait unJOINdes tablesartistetalbumsur le champartist_id. - Créez une deuxième CTE appelée
track_salesqui récupèrealbum_id,nameet le nombre de secondes par morceau depuis la tabletrack. - Calculez le total de minutes écoutées pour chaque artiste.
- Regroupez les résultats par
artist_nameà partir de la CTE appropriée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- Create an artist_info CTE, JOIN the artist and album tables
___ ___ ___ (
SELECT
album.album_id,
artist.name AS artist_name
FROM store.album
JOIN store.artist ON album.artist_id = artist.artist_id
-- Define a track_sales CTE to assign an album_id, name,
-- and number of seconds for each track
), ___ ___ (
SELECT
track.___,
track.___,
track.milliseconds / 1000 AS num_seconds
FROM store.invoiceline
JOIN store.track ON invoiceline.track_id = track.track_id
)
SELECT
ai.artist_name,
-- Calculate total minutes listed
SUM(___) / 60 AS minutes_listened
FROM track_sales AS ts
JOIN artist_info AS ai ON ts.album_id = ai.album_id
-- Group the results by the non-aggregated column
GROUP BY ___.___
ORDER BY minutes_listened DESC;