728x90
6. 아래와 같은 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 |
1. lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위
SELECT *,
RANK() OVER (PARTITION BY region ORDER BY rating DESC) AS rank
FROM lol_users
ORDER BY rank;
2. lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요
SELECT name
FROM lol_users
ORDER BY join_date DESC
LIMIT 1;
3. lol_users 테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서 나열하는 쿼리를 작성해주세요!
SELECT *
FROM lol_users
ORDER BY region, rating DESC;
4. lol_users 테이블에서 지역별로 평균 레이팅을 계산하는 쿼리를 작성해주세요!
SELECT region,
AVG(rating) AS avg_rating
FROM lol_users
GROUP BY region;
728x90
'내일배움캠프 > SQL' 카테고리의 다른 글
[SQL]3주차_IF, CASE (조건에 따라 포맷을 다르게 지정하기) (0) | 2024.11.14 |
---|---|
[SQL]3주차_Query 결과를 바로 사용할 수 없는 경우(REPLACE, SUBSTRING, CONCAT) (0) | 2024.11.14 |
[SQL]2주차_Distinct, Group by, Order by (0) | 2024.11.13 |
[SQL]사전캠프과제_4,5 (0) | 2024.11.08 |
[SQL]사전캠프과제_1 (0) | 2024.11.07 |