Zacznij terazZacznij za darmo

Znajdowanie najpopularniejszych artystów

Do tej pory nie udało nam się powiązać sprzedaży utworów z konkretnymi artystami. Czas to zmienić! Wykorzystasz wspólne wyrażenia tabelaryczne (CTE), aby połączyć dane z dwóch tabel i znaleźć artystę z największą łączną liczbą odsłuchanych minut. Zanim zaczniesz, rzuć okiem na tabele album i artist w oknie wyników.

To ćwiczenie jest częścią kursu

Manipulacja danymi w Snowflake

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj CTE artist_info, które łączy tabele artist i album za pomocą JOIN po polu artist_id.
  • Utwórz drugi CTE o nazwie track_sales, który pobiera kolumny album_id, name oraz liczbę sekund na utwór z tabeli track.
  • Oblicz łączną liczbę odsłuchanych minut dla każdego artysty.
  • Pogrupuj wyniki według kolumny artist_name z odpowiedniego CTE.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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;
Edytuj i uruchom kod