문제점
다음처럼 코드를 짜서 Submit은 통과했지만
이보다 더 좋은 코드가 있을 것 같아서 찾아보았다.
내가 작성한 코드
SELECT city, LENGTH(city)
FROM station
WHERE LENGTH(city) = (
SELECT MIN(LENGTH(city))
FROM station
)
ORDER BY LENGTH(city), city
LIMIT 1;
SELECT city, LENGTH(city)
FROM station
WHERE LENGTH(city) = (
SELECT MAX(LENGTH(city))
FROM station
)
ORDER BY LENGTH(city), city
LIMIT 1;
새로 찾아본 코드
오름차순 정렬하고 1개를 뽑으면 최솟값,
내림차순 정렬하고 1개를 뽑으면 최댓값이 되는 점을 이용했다.
ORDER BY만 잘 써도 서브쿼리와 MIN, MAX 집계 함수가 필요없어졌다.
SELECT CITY, LENGTH(CITY)
FROM STATION
ORDER BY LENGTH(CITY) ASC, CITY ASC
LIMIT 1;
SELECT CITY, LENGTH(CITY)
FROM STATION
ORDER BY LENGTH(CITY) DESC, CITY DESC
LIMIT 1;
'데이터 분석 > SQL 코테' 카테고리의 다른 글
[SQL코테/HackerRank] The Report (0) | 2024.06.19 |
---|---|
[SQL코테/HackerRank] Weather Observation Station 20 (1) | 2024.06.18 |
[SQL코테/HackerRank] Contest Leaderboard (0) | 2024.06.13 |
[SQL코테/HackerRank] Weather Observation Station 17 (1) | 2024.06.11 |
[SQL코테/HackerRank] Weather Observation Station 5 (0) | 2024.06.10 |