[SQL] 물고기 종류 별 대어 찾기
2024. 5. 4. 21:48ㆍ코딩 테스트
문제




개념
- WHERE절 서브쿼리
- WHERE (컬럼1, 컬럼2) IN (SELECT 컬럼1, MAX(컬럼2) FROM 테이블 GROUP BY 컬럼1)
- 위와 같은 절로 각 컬럼1의 종류마다 컬럼2의 최대값 조건을 만들 수 있다.
- GROUP BY로 집계함수를 구할 경우 SELECT절에 있는 모든 컬럼이 집계함수이거나 GROUP BY절에 사용되어야 한다.(오답 참조)
오답
SELECT ID, FISH_NAME, MAX(LENGTH) AS LENGTH
FROM FISH_INFO JOIN FISH_NAME_INFO USING(FISH_TYPE)
GROUP BY FISH_NAME
ORDER BY 1
정답
SELECT ID, FISH_NAME, LENGTH
FROM FISH_INFO JOIN FISH_NAME_INFO USING(FISH_TYPE)
WHERE (FISH_TYPE, LENGTH) IN
(
SELECT FISH_TYPE, MAX(LENGTH)
FROM FISH_INFO
GROUP BY 1
)
ORDER BY 1
'코딩 테스트' 카테고리의 다른 글
| [SQL] 조건에 맞는 개발자 구하기(프로그래머스) (1) | 2024.05.05 |
|---|---|
| [SQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.05.05 |
| [SQL] 입양 시각 구하기(2) (0) | 2024.05.04 |
| [SQL] 오프라인/온라인 판매 데이터 통합하기(프로그래머스) (0) | 2024.05.04 |
| [SQL] 대장균들의 자식의 수 구하기 (0) | 2024.05.04 |