아래와 같은 lol_users(LOL 유저 테이블)이 있습니다.
id | name | region | rating | join_date |
---|---|---|---|---|
1 | 르탄이 | 한국 | 1300 | 2019-06-15 |
2 | 배캠이 | 미국 | 1500 | 2020-09-01 |
3 | 구구이 | 한국 | 1400 | 2021-01-07 |
4 | 이션이 | 미국 | 1350 | 2019-11-15 |
lol_users
테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)잘 모르겠어서 정답을 먼저 확인했다🥲
데일리퀘스트에서 모르는 함수들이 툭툭 튀어나온다! 오 히 려 좋 아
SELECT name,
rating,
RANK() OVER (ORDER BY rating DESC) AS lol_rank
FROM lol_users
SELECT 컬럼명,
RANK() OVER (ORDER BY 정렬기준 컬럼 [ASC | DESC]) AS 순위컬럼
FROM 테이블명;
-- 동일한 값이 있는 경우 동일한 순위를 부여하고, 그다음 순위는 건너뜁니다.
lol_users
테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요!SELECT name
FROM lol_users
ORDER BY join_date DESC
LIMIT 1
lol_users
테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서 나열하는 쿼리를 작성해주세요!SELECT *
FROM lol_users
ORDER BY region,
rating DESC
lol_users
테이블에서 지역별로 평균 레이팅을 계산하는 쿼리를 작성해주세요!SELECT region,
AVG(rating)
FROM lol_users
GROUP BY region