반응형
COMPUTE
결과를 별도의 결과 집합으로 출력한다.
1
2
|
SELECT 컬럼명 FROM 테이블명 WHERE 조건
COMPUTE 집계함수(컬럼명)
|
cs |
집계 함수 → SUM(합계), AVG(평균), MAX(최대), MIN(최소), COUNT(개수)
예제)
1
2
3
|
SELECT * FROM A WHERE 분류 = '음식'
SELECT SUM(금액) AS 'sum' FROM A WHERE 분류 = '음식'
SELECT AVG(금액) AS 'avg' FROM A WHERE 분류 = '음식'
|
cs |
1
2
3
|
SELECT * FROM A WHERE 분류 = '음식'
COMPUTE SUM(금액)
COMPUTE AVG(금액)
|
cs |
위의 두 쿼리 문의 결과는 동일하다.
1
2
|
SELECT * FROM A WHERE 분류 = '음식'
COMPUTE SUM(금액), AVG(금액)
|
cs |
A | COMPUTE | COMPUTE SUM(금액), AVG(금액) | |||||||||||
분류 | 내용 | 개수 | 금액 | 분류 | 내용 | 개수 | 금액 | 분류 | 내용 | 개수 | 금액 | ||
학용품 | 연필 | 1 | 400 | 음식 | 김밥 | 1 | 2000 | 음식 | 김밥 | 1 | 2000 | ||
음식 | 김밥 | 1 | 2000 | 음식 | 제육덮밥 | 1 | 4800 | 음식 | 제육덮밥 | 1 | 4800 | ||
음식 | 제육덮밥 | 1 | 4800 | 음식 | 제육덮밥 | 2 | 9600 | 음식 | 제육덮밥 | 2 | 9600 | ||
음식 | 제육덮밥 | 2 | 9600 | ||||||||||
학용품 | 지우개 | 3 | 1200 | sum | sum | avg | |||||||
학용품 | 샤프 | 2 | 800 | 16400 | 16400 | 5466 | |||||||
기타 | 게임 | 1 | 100 | ||||||||||
avg | |||||||||||||
5466 |
참고
1
2
|
SELECT *, 개수*금액 AS 'sum' FROM A WHERE 분류 = '음식'
COMPUTE SUM(개수*금액)
|
cs |
COMPUTE에서 단일 칼럼의 값이 아닌 '컬럼명*컬럼명'과 같은 수식값이 들어가면
SELECT에서 해당 수식이 포함되어야 한다.
COMPUTE BY
컬럼 별로 리스트화하고 COMPUTE 결과를 보여준다.
예제)
1
2
3
|
SELECT * FROM A WHERE 분류 = '음식'
ORDER BY 내용
COMPUTE SUM(금액), AVG(금액) BY 내용
|
cs |
A | COMPUTE BY | |||||||
분류 | 내용 | 개수 | 금액 | 분류 | 내용 | 개수 | 금액 | |
학용품 | 연필 | 1 | 400 | 음식 | 김밥 | 1 | 2000 | |
음식 | 김밥 | 1 | 2000 | |||||
음식 | 제육덮밥 | 1 | 4800 | sum | avg | |||
음식 | 제육덮밥 | 2 | 9600 | 2000 | 2000 | |||
학용품 | 지우개 | 3 | 1200 | |||||
학용품 | 샤프 | 2 | 800 | 분류 | 내용 | 개수 | 금액 | |
기타 | 게임 | 1 | 100 | 음식 | 제육덮밥 | 1 | 4800 | |
음식 | 제육덮밥 | 2 | 9600 | |||||
sum | avg | |||||||
14400 | 7200 |
반응형
'프로그래밍 > MSSQL' 카테고리의 다른 글
[MSSQL] 조건절 LIKE 검색 조건 (ESCAPE 특수문자 와일드 카드 (예약어) 검색) (0) | 2017.02.13 |
---|---|
[MSSQL] PIVOT, UNPIVOT (행렬 변환) (6) | 2017.02.10 |
[MSSQL] DATENAME, DATEPART (요일, 올해 몇번째 날, 주말을 제외한 평일 일수) (0) | 2017.02.09 |
[MSSQL] PARTITION BY 테이블 분할 함수 (0) | 2017.02.09 |
[MSSQL] ROLLUP (소계, 합계) (0) | 2016.07.11 |