Začněte nyníZačněte zdarma

Hledáme nejpopulárnější umělce

Dosud jsme nedokázali propojit prodeje skladeb s konkrétním umělcem. Pojďme to změnit! Teď si prakticky vyzkoušíš použití společných tabulkových výrazů k tomu, abys spojil/a data ze dvou tabulek a zjistil/a, který umělec má nejvíce odposlechnutých minut. Než začneš, podívej se na tabulky album a artist ve výstupním okně.

Toto cvičení je součástí kurzu

Data Manipulation in Snowflake

Zobrazit kurz

Pokyny k cvičení

  • Definuj CTE artist_info, které pomocí JOIN spojí tabulky artist a album na základě pole artist_id.
  • Vytvoř druhé CTE s názvem track_sales, které z tabulky track načte album_id, name a počet sekund pro každou skladbu.
  • Vypočítej celkový počet odposlechnutých minut pro každého umělce.
  • Výsledky seskup podle artist_name z příslušného CTE.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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;
Upravit a spustit kód