성과 상위 회원 식별하기
리더보드만큼 재미있는 게 또 있을까요? 운영팀은 CORE_GYM 스키마의 데이터를 활용해 소모 칼로리를 기준으로 회원 리더보드를 만들고자 합니다. 이를 위해 members와 visits 테이블을 결합한 결과 집합을 생성해 달라고 여러분께 요청했어요.
이 연습은 강의의 일부입니다
Snowflake의 데이터 타입과 함수
연습 안내
- CTE를 사용해
flattened_members라는 임시 결과 집합을 만들고,members테이블에서user_id, 이름(first name), 성(last name)을 가져오세요. - 두 번째 임시 결과 집합
high_performers를 정의하고,visits테이블에서calories_burned > 500인 모든 레코드를 반환하세요. user_id필드로high_performers와 평탄화된 members 출력 결과를 조인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- 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;