과목 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) 키대상, |
[실행결과]
경고: 집계 또는 다른 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 |