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 *
FROM lol_users
order by rating desc
2. lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요
SELECT name
FROM lol_users
where join_date =
(select max(join_date)
from lol_users
)
3. lol_users 테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서 나열하는 쿼리를 작성해주세요!
select *
from lol_users
order by region, rating desc
4. lol_users 테이블에서 지역별로 평균 레이팅을 계산하는 쿼리를 작성해주세요!
select region, avg(rating) avg_rating
from lol_users
group by region
배운점
- ORDER BY region, rating -> ORDER BY는 여러 컬럼을 두게 되면 첫번째 컬럼을 기준으로 정렬 후, 그 결과 내에서 두번째 컬럼을 기준으로 정렬함 즉 region을 기준으로 오름차순 정렬 후, 그 결과 내부에서 rating을 기준으로 오름차순 정렬
- 첫 번째 기준(region): 데이터를 region 열의 값에 따라 정렬
- 두 번째 기준(rating): region이 같은 데이터끼리 rating 열의 값에 따라 정렬
- GROUP BY는 SQL에서 데이터를 그룹화하여 그룹별로 집계 함수(SUM, COUNT, MAX, AVG, 등)를 사용할 때 사용함
- 집계함수랑 같이 쓰는 함수임
SELECT category, MAX(price) AS max_price
FROM sales
GROUP BY category;
'SQL' 카테고리의 다른 글
SQL 문법 연습 - 8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다. (0) | 2024.12.07 |
---|---|
SQL 문법 연습 - 7) 랭크게임 하다가 싸워서 피드백 남겼어요… (0) | 2024.12.07 |
SQL 문법 연습 - 5) 공부하다보니 팀 프로젝트 시간이 왔어요! (0) | 2024.12.06 |
쉽고 빠른 SQL (2) (1) | 2024.12.06 |
쉽고 빠른 SQL (1) (0) | 2024.12.05 |