create table lol_users (
id int not null auto_increment,
name varchar(20) not null,
region varchar(20) not null,
rating int not null,
join_date datetime,
constraint lol_users_PK primary key(id)
);
insert into lol_users (name, region, rating, join_date) values ("르탄이", "한국", 1300, "2019-06-15");
insert into lol_users (name, region, rating, join_date) values ("배캠이", "미국", 1500, "2020-09-01");
insert into lol_users (name, region, rating, join_date) values ("구구이", "한국", 1400, "2021-01-07");
insert into lol_users (name, region, rating, join_date) values ("이션이", "미국", 1350, "2019-11-15");
아래와 같은 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
|
21. lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)
select name, rating, rank() over (order by rating desc) as ranking
from lol_users;
22. lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요!
select name, join_date
from lol_users
order by join_date desc
limit 1;
23. lol_users 테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서 나열하는 쿼리를 작성해주세요!
select *
from lol_users
order by region, rating desc;
24. lol_users 테이블에서 지역별로 평균 레이팅을 계산하는 쿼리를 작성해주세요!
select region, avg(rating) as average_rating
from lol_users
group by region;
[내일배움캠프-사전캠프 03일차] MySQL 랭킹(Ranking) 함수들
SQL에 대한 기본 지식은 갖췄다고 생각했으나 애매했던 부분에 대해서만 정리했습니다. MySQL에서 랭킹(Ranking) 함수들은 데이터를 정렬된 순서에 따라 순위를 부여할 때 사용하는 윈도우 함수(Windo
s-y-130.tistory.com