Weather Observation Station15
문제: Query the Western Longitude (LONG_W) for the largest Northern Latitude (LAT_N) in STATION that is less than 137.2345.
Round your answer to 4 decimal places.
풀이: 137.2345보다 작은 가장 큰 LAT_N에 대해 LONG_W를 찾는 문제였다. 또 하나의 주어진 조건으로는 소수점 4자리에서 반올림하는 것.
처음에는 서브 쿼리가 아닌 ORDER BY 절에 ROWNUM으로 해서 하나의 쿼리로 해결하는 방법을 생각했었는데 실패했다..
왜지..왜지..하다가 ORDER BY절에 ROWNUM 사용 시 순번이 뒤섞인다고 서브 쿼리로 처리해줘야 한다길래,
서브쿼리로 처리해주고 부모 쿼리 WHERE절에 ROWNUM을 주어서 해결 완료.
SELECT ROUND(LONG_W, 4) FROM (SELECT LONG_W FROM STATION WHERE LAT_N < 137.2345 ORDER BY LAT_N DESC) WHERE ROWNUM = 1; |
Weather Observation Station16
문제: Query the smallest Northern Latitude (LAT_N) from STATION that is greater than 38.7880.
Round your answer to 4 decimal places.
풀이: 38.7880보다 큰 가장 작은 LAT_N를 찾는데 소수점 4자리에서 반올림하는 문제.
앞선 문제에서 ROUND LONG_W를 LAT_N으로 바꾸고, 서브 쿼리 내 찾을 칼럼이랑 조건이랑 정렬만 수정해주면 바로 해결 가능한 문제였다.
SELECT ROUND(LAT_N, 4) FROM(SELECT LAT_N FROM STATION WHERE LAT_N > 38.7880 ORDER BY LAT_N ASC) WHERE ROWNUM = 1; |
Weather Observation Station17
문제: Query the Western Longitude (LONG_W) where the smallest Northern Latitude (LAT_N) in STATION is greater than 38.7880.
Round your answer to 4 decimal places.
풀이: 가장 작은 LAT_N이 38.7880보다 큰 LONG_W를 구하되 소수점 아래 5번째 자리에서 반올림해서 넷째 자리까지 구하는 문제.
SELECT ROUND(LONG_W, 4) FROM(SELECT LONG_W FROM STATION WHERE LAT_N > 38.7880 ORDER BY LAT_N ASC) WHERE ROWNUM = 1; |
'Database' 카테고리의 다른 글
해커랭크 SQL문제_0805 (0) | 2021.08.05 |
---|---|
해커랭크 SQL문제_0804 (0) | 2021.08.04 |
해커랭크 SQL문제_0802 (0) | 2021.08.02 |
코딩테스트 연습_0729 (0) | 2021.07.29 |
코딩테스트 연습_0728 (0) | 2021.07.28 |