Kom igångKom igång gratis

Hitta de mest populära artisterna

Något vi inte kunnat göra hittills är att koppla spårförsäljning till en artist. Nu ändrar vi på det! Du ska använda common table expressions för att hämta data från två tabeller och hitta den artist som har flest lyssnade minuter. Innan du börjar, ta en titt på tabellerna album och artist i utdatafönstret.

Den här övningen är en del av kursen

Datamanipulering i Snowflake

Visa kurs

Övningsinstruktioner

  • Definiera en CTE kallad artist_info som JOIN:ar tabellerna artist och album på fältet artist_id.
  • Skapa en andra CTE kallad track_sales som hämtar album_id, name och antal sekunder per spår från tabellen track.
  • Beräkna det totala antalet lyssnade minuter för varje artist.
  • Gruppera resultaten på artist_name från lämplig CTE.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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;
Redigera och kör kod