1. 각 트레이너별로 가진 포켓몬의 평균 레벨을 계산하고, 그 중 평균 레벨이 높은 TOP 3 트레이너의 이름과 보유한 포켓몬의 수, 평균 레벨을 출력해주세요.
SELECT
trainer_id,
ROUND(AVG(level), 2) AS avg_level
FROM `basic.trainer-pokemon`
GROUP BY trainer_id
ORDER BY avg_level DESC
limit 3
2. 각 포켓몬 타입1을 기준으로 가장 많이 포획된(방출 여부 상관없음) 포켓몬의 타입1, 포켓몬의 이름과 포획 횟수를 출력해주세요.
--각 포켓몬 타입 1 기준
--가장 많이 포획도니 포켓몬 타입
--포켓몬의 이름과 포획 횟수
SELECT
type1,
kor_name,
COUNT(tp.catch_date) AS catch_cnt
FROM `basic.pokemon` AS p
LEFT JOIN `basic.trainer-pokemon` AS tp
ON p.id = tp.pokemon_id
GROUP BY type1, kor_name
ORDER BY catch_cnt DESC
LIMIT 1

'Data Base > BigQuery' 카테고리의 다른 글
ARRAY, STRUCT (1) | 2025.05.15 |
---|---|
윈도우 함수 문제 풀이 (0) | 2025.05.13 |
데이터 리터러시 (0) | 2025.05.12 |
Window 함수 (0) | 2025.05.12 |
제품 성장 단계에 따른 지표 정의 (0) | 2025.05.12 |