해당 문제는 HackerRank에서 사용한 문제이며 모든 테이블의 자료와 출처는 Hackerank임을 밝힙니다.
해당 글에서는 서브쿼리를 사용하여 푸는 문제로 난이도가 매우 낮은 문제입니다.
해당 문제 원본을 확인 하시려면 해당 사이트를 들어가시면 될 것 같습니다.
시작하겠습니다
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.
STATION 테이블에서 북위(LAT_N)가 137.2345보다 작은 값 중 가장 큰 북위(LAT_N)에 해당하는 서경(LONG_W)을 조회하세요. 결과는 소수점 4자리까지 반올림하세요.
해당 문제는 WHERE절에 서브쿼리를 적용하여 LAT_N이 137.2345보다 작은 값들을 찾고 그 중 가장 큰 북위를 찾습니다.
그리고 해당 하는 행에 있는 LONG_W를 알아내면 되는 것입니다.
1. LAT_N이 137.2345보다 작은 값들을 찾고 그 중 가장 큰 북위 찾기
SELECT MAX(LAT_N)
FROM STATION
WHERE LAT_N < 137.2345
이렇게 MAX() 집계 함수를 사용해주면 137.2345보다 작은 값들 중 가장 큰 북위 값을 찾을 수 있습니다.
2. 조건에 맞는 북위 값(LAT_N)을 이용하여 LONG_W 값 추출하기
SELECT ROUND(LONG_W, 4)
FROM STATION
WHERE LAT_N = (SELECT MAX(LAT_N)
FROM STATION
WHERE LAT_N < 137.2345)
1번 쿼리를 서브쿼리를 적용하여 WHERE절에 적용해줍니다. 그리고 마지막으로 SELECT 절에서 ROUND를 사용하여 소수점 4번째 자리까지 반올림 해주면 됩니다.
이렇게 해주시면 해당 문제에서 원하는 답이 출력 되게 됩니다.
이상으로 Hacker Rank 문제 풀이를 마치도록 하겠습니다.
728x90
'Data Analyst > SQL' 카테고리의 다른 글
[SQL] Programmers 문제 풀기(자동차 대여 기록 별 대여 금액 구하기) (1) | 2024.11.14 |
---|---|
[SQL] Programmers 문제 풀기(5월 식품들의 총매출 조회하기) (3) | 2024.11.13 |
[SQL] Programmers 문제 풀기(5월 식품들의 총매출 조회하기) (0) | 2024.11.12 |
[SQL] Programmers 문제 풀기(상품을 구매한 회원 비율 구하기) (0) | 2024.11.11 |
[SQL] Programmers 문제 풀기(자동차 대여 기록에서 장기/단기 대여 구분하기) (1) | 2024.11.10 |