본문 바로가기
데이터관련공부/SQL

[HackerRank] SQL - Weather Observation Station 20: 다시 시도해야 함...

by 자유롭고 싶은 키털트 2022. 6. 1.

1. 시도한 답 (하기 블로거님 포스팅 참조)

SET @rowIndex=-1;
SELECT ROUND(lat_n, 4)
FROM(SELECT @rowIndex:=@rowIndex+1 AS rownumber,
     lat_n
     FROM station
     ORDER BY lat_n) sub
WHERE rownumber IN (FLOOR(@rowIndex/2), CEIL(@rowIndex/2))

2. 어려웠던 이유

-SET 함수를 사용하여 Row 에 Index 를 주는 개념을 몰랐음

-SQL 에서는 내림, 올림을 하는 함수가 FlOOR, CEIL 이라는 함수가 있다는 것을 몰랐음

-왜 MEDIAN 함수가 없는 것인가...ㅠㅠ

 

3. 최초 시도한 답...

SELECT ROUND(LAT_N, 4)
FROM STATION
WHERE COUNT(LAT_N)/2 = (SELECT RANK() OVER (ORDER BY LAT_N DESC) FROM STATION);

 

참고>>

https://techblog-history-younghunjo1.tistory.com/160?category=962943 

 

[SQL] MySQL로 중앙값(Median) 찾아내기 - (HackerRank - Weather Observation Station 20 문제)

🔊 본 포스팅에서 사용되는 테이블의 자료와 출처는 HackerRank 임을 밝힙니다. 더 다양한 SQL 문제를 풀어보시려면HackerRank 사이트를 방문해 보세요! 이번 포스팅에서는 MySQL을 활용해 Median값을 출

techblog-history-younghunjo1.tistory.com

 

반응형