CommencezCommencez gratuitement

Trouver les artistes les plus populaires

Jusqu'ici, nous n'avions pas pu associer les ventes de pistes à un artiste. Changeons cela! Vous allez maintenant utiliser des expressions de table communes pour combiner des données de deux tables et trouver l'artiste ayant le plus de minutes écoutées. Avant de commencer, jetez un coup d'œil aux tables album et artist dans la fenêtre des résultats.

Cette activité fait partie du cours

Manipulation de données dans Snowflake

Voir le cours

Instructions de l’exercice

  • Définissez une CTE artist_info qui fait un JOIN des tables artist et album sur le champ artist_id.
  • Créez une deuxième CTE appelée track_sales qui récupère album_id, name et le nombre de secondes par piste à partir de la table track.
  • 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 ce code d’exemple.

-- 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;
Modifier et exécuter le code