始める無料で始める

最も人気のあるアーティストを見つける

これまでできていなかったのは、トラックの売上をアーティストに結びつけることでした。ここで解決しましょう!共通テーブル式を使って2つのテーブルからデータを取り出し、最も「再生分数」が多いアーティストを見つけます。始める前に、出力ウィンドウで albumartist テーブルを確認してください。

この演習はコースの一部です

Snowflake でのデータ操作

コースを見る

演習の手順

  • artist_id をキーに artist テーブルと album テーブルを JOIN する artist_info CTE を定義します。
  • 2つ目の CTE として track_sales を作成し、track テーブルから album_idname、各トラックの秒数を取得します。
  • 各アーティストの合計の再生分数を計算します。
  • 適切な CTE の artist_name で結果をグループ化します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- 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;
コードを編集して実行