LoslegenKostenlos loslegen

Die beliebtesten Artists finden

Bisher konnten wir Verkäufe einzelner Tracks nicht einem Artist zuordnen. Das ändern wir jetzt! Du wirst gleich mit Common Table Expressions arbeiten, um Daten aus zwei Tabellen zu kombinieren und den Artist mit den meisten gehörten Minuten zu finden. Bevor du startest, wirf einen Blick auf die Tabellen album und artist im Ausgabefenster.

Diese Übung ist Teil des Kurses

Datenmanipulation in Snowflake

Kurs anzeigen

Anleitung zur Übung

  • Definiere eine CTE artist_info, die die Tabellen artist und album über das Feld artist_id per JOIN verbindet.
  • Erstelle eine zweite CTE namens track_sales, die album_id, name und die Anzahl der Sekunden pro Track aus der Tabelle track abruft.
  • Berechne die gesamten gehörten Minuten pro Artist.
  • Gruppiere die Ergebnisse nach artist_name aus der passenden CTE.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- 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;
Code bearbeiten und ausführen