https://school.programmers.co.kr/learn/courses/30/lessons/298517
코딩테스트 연습 > SELECT > 가장 큰 물고기 10마리 구하기
문제 분석
문제 난이도: Level1
MySQL에서의 OrderBy Null 값은 알 수 없는 값으로 처리하여 다음과 같은 기준으로 위치한다.
오름차순 (ASC) 정렬: NULL 값이 가장 작은 값으로 간주되어 가장 처음에 위치
내림차순 (DESC) 정렬: NULL 값이 가장 큰 값으로 간주되어 가장 마지막에 위치
SELECT ID, LENGTH
FROM FISH_INFO
ORDER BY LENGTH ASC
SELECT ID, LENGTH
FROM FISH_INFO
ORDER BY LENGTH DESC
문제 요구
길이를 기준으로 내림차순 정렬하고, 길이가 같다면 물고기의 ID에 대해 오름차순 정렬
단, 가장 큰 물고기 10마리 중 길이가 10cm 이하인 경우는 없다.
잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL
WHERE 조건 필요 없이 단순하게 정렬만하면 된다.
길이를 기준으로 내림차순 정렬하면 길이가 10cm 미만인 물고기들은 NULL 값으로 SELECT 결과에 가장 아래에 위치하게 된다. 길이를 기준으로 내림차순 정렬은 ORDER BY LENGTH DESC
만약 길이가 같다면 ID에 대해 오름차순 정렬이니까 ORDER BY LENGTH DESC , ID 이렇게 하면 끝이다.
ASC(오름차순)은 Default 여서 생략이 가능하다.
정답 코드
SELECT ID, LENGTH
FROM FISH_INFO
ORDER BY LENGTH DESC , ID
LIMIT 10
'Algorithm > Programmers SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 잔챙이 잡은 수 구하기 (0) | 2024.08.28 |
---|---|
[MySQL] 프로그래머스 잡은 물고기의 평균 길이 구하기 (1) | 2024.08.28 |
[MySQL] 프로그래머스 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (0) | 2024.08.27 |
[MySQL] 프로그래머스 한 해에 잡은 물고기 수 구하기 (0) | 2024.08.27 |
[MySQL] 프로그래머스 특정 형질을 가지는 대장균 찾기 (0) | 2024.08.26 |