始める無料で始める

優秀メンバーの特定

リーダーボードほど楽しいものはありませんね。オペレーションチームは、CORE_GYM スキーマのデータを使って、消費カロリーに基づくメンバーのリーダーボードを作成したいと考えています。そのために、members テーブルと visits テーブルを組み合わせた結果セットの作成をあなたに依頼しています。

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

Snowflake のデータ型と関数

コースを見る

演習の手順

  • CTE を使って、members テーブルから user_id、名、姓を取得する一時的な結果セット flattened_members を作成してください。
  • visits テーブルの中で calories_burned > 500 のレコードをすべて返す、2つ目の一時的な結果セット high_performers を定義してください。
  • user_id フィールドを使って、flattened_members の出力を high_performers に結合してください。

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

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

-- Retrieves the user_id, first name, and last name from the members table
___ ___ ___ (
    SELECT
        user_id,
        personal_info:name.___ AS first_name,
        personal_info:name.___ AS last_name,
    FROM CORE_GYM.members),
  
-- high_performers should return all visits where > 500 calories were burned
___ ___ (
    SELECT 
        user_id,
        TO_DATE(checkin_time) AS workout_date,
        workout_type,
        calories_burned
    FROM CORE_GYM.visits
    WHERE ___)

SELECT
    CONCAT(flattened_members.first_name, ' ', flattened_members.last_name) AS full_name,
    high_performers.workout_date,
    high_performers.workout_type,
    high_performers.calories_burned
FROM high_performers
-- JOIN flattened_members to high_performers on the user_id field
JOIN ___ ON ___.___ = high_performers.user_id;
コードを編集して実行