본문 바로가기
Database

[Oracle]Weather Observation Station 17(풀이 성공)

by 전봇대파괴자 2021. 4. 16.

문제

 

아래와 같은 스키마 STATION이 주어진다.

38.7780 보다 큰 LAT_N 중 가장 작은 값에 접근하라. 그리고 소수점 아래 넷째자리까지 표현하라.

 

내 코드:

select round(long_w, 4) 
from (select * 
      from station 
      where lat_n > 38.7780
      order by lat_n)
where rownum=1;

Comment: from 뒤의 괄호 안에서 미리 조건을 부여하여 스키마를 어느 정도 정돈하는 것이 필요합니다. 우선 38.7780보다 많은 값을 모두 선택한 후, order by를 활용해 오름차순으로 정렬하면 조건에 맞는 값 중 가장 작은 값(우리가 접근해야 하는 값)이 가장 위쪽에 오게 됩니다. 

 

남은 것은 where를 통해 꺼낸 후, round 함수로 소수점 아래 넷째자리까지 표시하는 것입니다.