자격증/SQLD

GROUP BY

dev? 2024. 11. 5. 21:52
반응형
-- GROUP_NAME이 같은 것끼리 그룹화
-- 같은 GROUP_NAME을 가진 것 끼리 평균, 가장큰값, 작은값, 합계를 구함

SELECT GROUP_NAME,
       COUNT(*),
       ROUND(AVG(HEIGHT),2),
       MAX(HEIGHT),
       MIN(HEIGHT),
       SUM(HEIGHT)
FROM ARTIST
GROUP BY GROUP_NAME;

 


GROUP BY에 2개 이상의 컬럼 지정 가능

SELECT GROUP_NAME,
       BIRTH_YEAR,
       COUNT(*),
       ROUND(AVG(HEIGHT),2),
       MAX(HEIGHT),
       MIN(HEIGHT),
       SUM(HEIGHT)
FROM ARTIST
GROUP BY GROUP_NAME,BIRTH_YEAR;

에스파에서 2000년생인 (유일한) 그룹
에스파에서 2001년생인 (유일한) 그룹

GROUP BY에 지정한 2개의 컬럼(조건)에 일치하는 각각의 유일한 그룹

 


GROUP BY는 DISTINCT 한것과 같다

SELECT GROUP_NAME, BIRTH_YEAR
FROM ARTIST
GROUP BY GROUP_NAME, BIRTH_YEAR;

SELECT DISTINCT GROUP_NAME, BIRTH_YEAR
FROM ARTIST;
결과가 일치 한다!

 


[제약사항] 그룹화하지도 집계하지도 않은 컬럼은 조회할수 없음

오류가 발생한다.
반응형