데이터 분석/SQL 코테

[SQL코테/HackerRank] Weather Observation Station 17

Sheryl Yun 2024. 6. 11. 20:47

문제 바로가기

 

풀이 과정

 

Tip: WHERE에는 그룹 함수(MIN)를 사용할 수 없다.

 

 

2가지 방법으로 풀 수 있다.

 

 

1. 서브쿼리

 

처음에 서브쿼리로 작성한 후 에러가 났는데

확인해보니 WHRER 다음에 서브쿼리와 비교할 컬럼명(lat_n =)을 넣지 않아서였다.

 

컬럼명을 넣고 다시 수정했더니 정답 처리되었다.

SELECT ROUND(long_w, 4)
FROM station
WHERE lat_n = (  -- 이 라인에서 'lat_n ='을 빠뜨림
    SELECT MIN(lat_n) 
    FROM station
    WHERE lat_n > 38.7780
);

 

 

 

2. ORDER BY + LIMIT 

 

MIN, MAX를 '대체'하는 구문으로 MIN, MAX '대신' 쓴다.

(= ORDER BY + LIMIT을 쓰면 '최소, 최대'라 하더라도 MIN, MAX를 사용하지 않는다)
 
 
SELECT ROUND(long_w, 4)
FROM station
WHERE lat_n > 38.7780
ORDER BY lat_n
LIMIT 1;