SQL연습문제
6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!
Twisted
2024. 8. 28. 14:37
아래와 같은 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 유저의 순위)
- lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요
- lol_users 테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서 나열하는 쿼리를 작성해주세요!
- lol_users 테이블에서 지역별로 평균 레이팅을 계산하는 쿼리를 작성해주세요!
※순위를 매기기 위한 함수로 RANK()를 사용※
A1.
SELECT name, RANK() OVER(ORDER BY rating DESC) AS rating_rank
FROM lol_users;
A2.
SELECT name FROM lol_users
ORDER BY join_date DESC LIMIT 1;
A3.
SELECT * FROM lol_users
ORDER BY region ASC , rating DESC;
A4.
SELECT region, AVG(rating) avg_rating FROM lol_users
GROUP BY region;