참고
- 2020-08-18-02)집계함수.sql
- 데이터를 특정 컬럼을 기준으로 같은 값을 갖는 것끼리 그룹화시키고 이를 기준으로 합(SUM),평균(AVG),갯수(=행의 수,COUNT),최댓값(MAX),최솟값(MIN)을 구하는 함수
- GROUP BY: 같은 값 갖는 것 끼리 그룹화
- HAVING: 집계함수 자체에 조건이 부여될 경우
- 예) 각 반 인원수를 구해서 인원수가 20명 이상 되어지는 반
- GROUP BY: 각반
- COUNT: 인원수를 구해서
- HAVING: 인원수>20
- ★SELECT 절에 기술된 '그룹함수가 아닌 일반컬럼'은 반드시 GROUP BY절에 기술되어야함★
- GROUP BY 절을 쓸 때는 SELECT 절을 확인
- SELECT절에 그룹으로 안묶인 컬럼도 GROUP으로 묶일 수 있다
- 그룹핑 순서는 GROUP BY절에 기술된 컬럼 중 왼쪽부터 적용됨
- 왼 -> 오로 갈수록 세부 그룹이 또 묶임
- 예) 2005년 판매자료중 회원별, 제품별 판매현황을 조회하시오
- 회원별 그룹화
- 회원 그룹으로 묶인 상태에서 그 안에서 제품별
SUM(column)
- 해당 컬럼에 저장된 데이터를 그룹별로 합계를 구하여 반환
예시
1. 사원테이블에서 부서별 급여합계를 구하시오.
잘못된 예
2. 상품테이블에서 분류별 가격의 합계를 구하시오
- Alias: 분류코드, 분류명, 가격합계
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F7936ba3e-e6ae-4c3e-b6a2-f09a4596205d%2Fimage.png)
- -> 두개의 컬럼이 사용되었지만 결국 같은 기준으로 분류해주는 것임
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F980f2cf9-e59a-4d72-b05b-50bf3efab4cd%2Fimage.png)
3. 회원테이블에서 성별 마일리지 합계를 구하시오
- Alias: 성별, 마일리지 합계
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F9b73fa39-43f4-4a36-bef9-9fd8be53bd07%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F6b35daeb-ad97-4247-b5f6-f9116658355b%2Fimage.png)
4. 2005년 3월 거래처별 매입금액합계를 구하시오
- Alias는 거래처코드, 거래처명, 매입액
- 내가 한 방식
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F1c63e345-dccc-4d70-88c9-f2a06ffad2fc%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F276b6e02-980c-4d98-b2cf-674a33295387%2Fimage.png)
- 이거 왜 틀렸는지 나중에 해보기
- 정식
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F10647b49-f10a-4ae5-b192-4a66d92fe15b%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fd2f20e69-2765-4ce6-8d93-8520d4ef589f%2Fimage.png)
5. 회원테이블에서 모든 회원의 마일리지의 합계를 구하시오
- GROUP BY 절 생략할 수 있지만, SELECT 절에 일반컬럼 절대 올 수 없음
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fd4ae8784-c29d-4e21-a858-bb18c01225e6%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F3557787c-6162-4889-be5d-bab863bf8e81%2Fimage.png)
6. 회원테이블에서 모든 여성회원의 마일리지의 합계를 구하시오
문제
1-1. 2005년 5월 회원별, 상품별, 판매수량 합계를 구하시오
- Alias: 회원번호, 상품코드, 판매수량합계
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F30fea967-c357-4660-8ec3-e4e0693f6fab%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F343b6d83-123a-4059-9324-ffcc3b4878b0%2Fimage.png)
1-2. 2005년 5월 회원별 판매수량 합계를 구하되 판매수량 합계가 20개 이상인 회원만 조회
- Alias: 회원번호, 판매수량합계
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fae52c1b7-1ee4-4ef5-b40b-15e2b0df2184%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fae8cb115-846e-4624-b594-a38db5b2302a%2Fimage.png)