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
Anleitung zur Übung
- Definiere eine CTE
artist_info, die die Tabellenartistundalbumüber das Feldartist_idperJOINverbindet. - Erstelle eine zweite CTE namens
track_sales, diealbum_id,nameund die Anzahl der Sekunden pro Track aus der Tabelletrackabruft. - Berechne die gesamten gehörten Minuten pro Artist.
- Gruppiere die Ergebnisse nach
artist_nameaus 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;