ПочатиПочніть безкоштовно

Пошук найпопулярніших виконавців

Те, чого ми ще не робили, — це пов'язування продажів треків із виконавцем. Змінимо це! Зараз ви попрактикуєтеся у використанні common table expressions, щоб об'єднати дані з двох таблиць і знайти виконавця з найбільшою кількістю прослуханих хвилин. Перш ніж почати, зазирніть у таблиці album і artist у вікні результатів.

Ця вправа є частиною курсу

Опрацювання даних у Snowflake

Переглянути курс

Інструкції до вправи

  • Визначте CTE artist_info, який виконує JOIN таблиць artist і album за полем artist_id.
  • Створіть другий CTE під назвою track_sales, який отримує album_id, name і кількість секунд на трек із таблиці track.
  • Обчисліть загальну кількість прослуханих хвилин для кожного виконавця.
  • Згрупуйте результати за artist_name з відповідного CTE.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- 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;
Редагувати та запускати код