문제
아래와 같은 스키마 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 함수로 소수점 아래 넷째자리까지 표시하는 것입니다.
'Database' 카테고리의 다른 글
[MySQL]기본값 utf8로 설정하기 (0) | 2021.05.04 |
---|---|
[MySQL]git 저장소의 DB와 로컬 DB 연결하기 (0) | 2021.05.04 |
[Oracle] Top Earners(풀이 성공) (0) | 2021.04.12 |
[Oracle]The Blunder(풀이 성공) (0) | 2021.04.07 |
[Oracle]Average Population of Each Continent(풀이 성공) (0) | 2021.04.01 |