과목 II SQL 기본 및 활용

제1장 SQL 기본

제7절 GROUP BY, HAVING 절

2. GROUP BY 절

 

 

[예제] K-리그 선수들의 포지션별 평균키는 어떻게 되는가란 요구 사항을 접수하였다. GROUP BY 절을 사용하지 않고 집계 함수를 사용했을 때 어떤 결과를 보이는지 포지션별 평균키를 구해본다.

 SELECT POSITION 포지션, AVG(HEIGHT) 평균키

 FROM PLAYER;

 

 

[실행결과]

메시지 8120, 수준 16, 상태 1, 줄 1
열 'PLAYER.POSITION'이(가) 집계 함수나 GROUP BY 절에 없으므로 SELECT 목록에서 사용할 수 없습니다.

 

 


 

 

[예제] SELECT 절에서 사용된 포지션이라는 한글 ALIAS를 GROUP BY 절의 기준으로 사용해본다.

SELECT POSITION 포지션, AVG(HEIGHT) 평균키

 FROM PLAYER

 GROUP BY POSITION 포지션;

 

 

[실행결과]

메시지 102, 수준 15, 상태 1, 줄 1
';' 근처의 구문이 잘못되었습니다.

 

 


 

 

[예제] 포지션별 최대키, 최소키, 평균키를 출력한다. (포지션별이란 소그룹의 조건을 제시하였기 때문에 GROUP BY 절을 사용한다.)

 SELECT POSITION 포지션, COUNT(*) 인원수, COUNT(HEIGHT) 키대상,
             MAX(HEIGHT) 최대키, MIN(HEIGHT) 최소키, ROUND(AVG(HEIGHT),2) 평균키
 FROM PLAYER
 GROUP BY POSITION;

 

 

[실행결과]

경고: 집계 또는 다른 SET 작업에 의해 Null 값이 제거되었습니다.

(5개 행이 영향을 받음)

 

'SQL 전문가 가이드' 카테고리의 다른 글

CASE 표현을 활용한 월별 데이터 집계  (0) 2013.10.01
HAVING 절  (0) 2013.09.30
집계 함수(Aggregate Function)  (0) 2013.09.30
기타 NULL 관련 함수 (COALESCE)  (0) 2013.09.30
NULLIF  (0) 2013.09.30
Posted by G4.
,