본문 바로가기

SQL

[MYSQL] GROUOP BY에 사용되는 열의 조건

https://school.programmers.co.kr/learn/courses/30/lessons/293257

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

# 1
SELECT COUNT(*) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO NATURAL JOIN FISH_NAME_INFO 
GROUP BY FISH_NAME #NAME
ORDER BY 1 DESC

# 2
SELECT COUNT(*) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO NATURAL JOIN FISH_NAME_INFO 
GROUP BY FISH_TYPE #TYPE
ORDER BY 1 DESC

 

위의 1번 쿼리는 실행이 되고 2번 쿼리는 오류가 난다.

이유는 GROUP BY에서 그룹화하려 컬럼은 무조건 SELECT 절에 선택되어 있어야 하거나 집계 함수 내에서 사용되어야 하기 때문이다.

'SQL' 카테고리의 다른 글

[MYSQL] WITH, RANK, PARTITION BY  (0) 2024.07.30
[MYSQL] 최댓값, CONCAT  (0) 2024.07.29
[MYSQL] OR  (0) 2024.07.29
[MYSQL] DISTINCT 중복 제거  (0) 2024.07.29
[MYSQL] IF  (0) 2024.07.29