문제 해설
select round(lat_n, 4)
from (select @num:=@num+1 as number, lat_n
from (select @num:=0) as n, station
order by lat_n) as A,
(select count(*) as cnt
from station) as B
where A.number = round(B.cnt/2, 0);
포인트
mysql에는 median 함수가 없어서 따로 만들어야 된다.
1. @num으로 행렬 개수 세기
2. 전체 개수를 구해 2로 나눠서 중간 값 인덱스를 구한다.
느낀점
행 개수 만드는 거는 자주 쓸 것 같으니 외우도록 하자!
'코딩 연습 > SQL' 카테고리의 다른 글
Intro to SQL (0) | 2022.01.04 |
---|---|
우유와 요거트가 담긴 장바구니 (0) | 2021.07.05 |
[Hacker Rank] Weather Observation Station 19 (0) | 2021.04.05 |
[Hacker Rank] Weather Observation Station 18 (0) | 2021.04.05 |
[Hacker Rank] Aggregation2 (0) | 2021.04.05 |