실력 향상은 물론이지만, 코테를 위해 소홀히 할 수 없는 SQL
HackerRank 문제풀이 하다가 처음 알게 된 사실,,
솔직히 좀 놀라웠다 😨
Median 함수가 없을 것이라고는 상상조차 하지 못했는데,,
Oracle 에는 있지만, MySQL 에는 없다고 함.
* Median - 중앙값
이름 그대로 정말 중앙에 위치한 값이다. 값의 총 개수가 홀수이면 중앙값은 하나지만, 짝수일 경우 가운데 위치한 두 수를 2로 나눈 값으로 함.
⏬ 문제는 맨 아래 링크 참고 👇
[ Oracle ]
SELECT ROUND(MEDIAN(LAT_N,4)
FROM STATION;
[ MYSQL ]
SELECT ROUND(LAT_N, 4)
FROM (SELECT LAT_N, PERCENT_RANK() OVER (ORDER BY LAT_N) percent
FROM STATION
) PCT_RANK
WHERE percent = 0.5;
윈도우 함수 구조는 쉽게 생각하면
함수명 OVER ( 윈도우 범위 [ 파티션 ] [ 정렬 ] [ WINDOWING 절 ] )
이런 구조이다 !
⏬ 윈도우 함수에 대한 자세한 내용은 아래 링크 참고 👇 (아주 정리가 잘 된 사이트를 찾았다 😎 )
또 놀라운 사실은 !!!
윈도우 함수 나름 잘 안다고 생각했는데,,,
윈도우 함수 중에 PERCENT_RANK() 가 있는것도 ,, 오늘 처음 알게 되었다 😁
분명 전에 윈도우함수 공부할 때 다 한 줄 알고 있었는데,,
😀 😉 덕분에 오늘도 업그레이드 성공 !! 😎
[참고]
https://www.hackerrank.com/challenges/weather-observation-station-20/problem
Weather Observation Station 20 | HackerRank
Query the median of Northern Latitudes in STATION and round to 4 decimal places.
www.hackerrank.com
https://jaaamj.tistory.com/148
[Oracle VS Mysql] 중앙값(median) 구하기
해커랭크에서 SQL 관련 문제를 풀면서 알게된 부분을 정리합니다. 다음 문제는 LAT_N 의 중앙값을 구한 후 반올림을 하는 문제이다. 나는 당연히 Median을 사용해서 풀었는데 자꾸 틀렸다고 해서 찾
jaaamj.tistory.com
https://for-my-wealthy-life.tistory.com/48
윈도우함수(WINDOW FUNCTION) 총정리, 순위함수와 분석함수
SQL의 윈도우 함수란 행과 행 간을 비교, 연산, 정의하기 위한 함수이다. 분석함수 또는 순위함수라고 하기도 한다. 다른 함수들처럼 중첩해서 사용할 수는 없지만 서브쿼리에서는 사용가능하다.
for-my-wealthy-life.tistory.com
'Today I Learned' 카테고리의 다른 글
[SQL] Query SELECT문 실행 순서 (1) | 2024.03.11 |
---|---|
[SQL] 빠르고 가벼운 쿼리를 위해 ! - 쿼리 최적화 체크리스트 (feat.medium) (0) | 2023.12.14 |
[Python] DataFrame에서 천(thousand) 단위 구분 콤마 간단 출력 (0) | 2023.12.14 |
[Python] Google Colab에서 Mecab 사용하기 (2) | 2023.11.30 |
[python] Colab에서 한글 폰트 깨짐 완전 해결 (0) | 2023.11.24 |