본문 바로가기

코딩일기

SQL 코드카타 137 - Weather Observation Station 5

https://www.hackerrank.com/challenges/weather-observation-station-5/problem?isFullScreen=true

 

Weather Observation Station 5 | HackerRank

Write a query to print the shortest and longest length city name along with the length of the city names.

www.hackerrank.com

 

Field Type
ID NUMBER
CITY VARCHAR2(21)
STATE VARCHAR2(2)
LAT_N NUMBER
LONG_W NUMBER

 

STATION 테이블:

  • ID: 테이블의 고유 키
  • CITY : 도시의 이름
  • STATE : 주의 이름
  • LAT_N : 위도
  • LONG_W : 경도

CITY 이름의 길이가 가장 짧은 도시와 가장 긴 도시, 그리고 각각의 이름 길이(즉, 이름의 문자 수)를 조회하는 쿼리를 작성하세요. 가장 짧거나 가장 긴 도시가 둘 이상인 경우, 알파벳순으로 정렬했을 때 먼저 나오는 도시를 선택하세요.

 

select
    CITY,
    length(CITY )
from STATION
group by CITY
order by length(CITY ) desc, CITY
limit 1

 

이름의 길이가 가장 긴 도시를 구한다. 이름의 길이로 내림차순 정렬하고 가장 위의 행만 출력해주면 된다.

 

select
    CITY,
    length(CITY )
from STATION
group by CITY
order by length(CITY ), CITY
limit 1

 

같은 방법으로 이름의 길이가 가장 짧은 도시를 구한다. 이름의 길이로 오름차순 정렬하고 가장위의 행만 출력한다.

 

(select
    CITY,
    length(CITY )
from STATION
group by CITY
order by length(CITY ) desc, CITY
limit 1)
union all
(select
    CITY,
    length(CITY )
from STATION
group by CITY
order by length(CITY ), CITY
limit 1)

 

두 쿼리를 합치면 완료