일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- STS
- @test
- Linux
- spring aop
- Spring Boot
- XML
- 프로퍼티
- Di
- AOP
- myBatis
- Dependency Injection
- JdbcTemplate
- spring
- unix
- @Spring-Test
- pointcut
- 컨테이너
- 리눅스
- java
- Ubunt
- @AspectJ
- JDBC TEMPLATE
- Framework
- POJO
- 마이바티스
- @JUnit
- spring framework
- java spring
- Spring JDBC
- SpringJDBC
Archives
- Today
- Total
개키우는개발자 : )
PostgreSQL CUBE 절 본문
반응형
CUBE 란?
지정된 GROUPING 컬럼의 다차원 소계를 생성하는데 사용된다. 간단한 문법으로 다차원 소계를 출력할 수 있다.
기본문법
- CUBE절에서 다차원 소계를 할 열을 지정한다. (지정한 그룹의 모든 경우에 수에 대한 소계와 총계를 구한다.)
SELECT
C1,C2,C3,
집계함수(C4)
FROM TABLE_NAME
GROUP BY
CUBE (C1, C2, C3);
- 특정 컬럼만 분리,선택하여 CUBE 지정을 할 수 있다.
SELECT
C1,C2,C3,
집계함수(C4)
FROM TABLE_NAME
GROUP BY C1, CUBE (C2, C3);
CUBE 절은 GROUPING SETS 절로 표현하면 총 8개의 소계가 발생합니다.
CUBE(C1,C2,C3)
-> GROUPING SETS (
(C1,C2,C3),
(C1,C2),
(C1,C3),
(C2,C3),
(C1),
(C2),
(C3),
()
)
CUBE절은 인자의 개수가 3개이면 2의3승의 소계가 발생합니다. (2의N승 = 소계의수)
실습
- SALES 테이블의 BRAND,SEGMENT컬럼 기준으로 CUBE 합니다.
SELECT
BRAND,
SEGMENT,
SUM(QUANTITY)
FROM
SALES
GROUP BY
CUBE (BRAND,
SEGMENT)
ORDER BY
BRAND,
SEGMENT;
4가지의 경우의 수로 합계를 합니다.
BRAND,SEGMENT -> BRAND -> SEGMENT -> 전체
- SALES 테이블의 BRADN컬럼은 GROUP BY, SEGMENT컬럼은 CUBE 합니다. (부분 CUBE)
SELECT
BRAND,
SEGMENT,
SUM(QUANTITY)
FROM
SALES
GROUP BY
BRAND,
CUBE (SEGMENT)
ORDER BY
BRAND,
SEGMENT;
BRAND,SEGMENT -> BRAND 의 합계만 조회가 됩니다.
GROUP BY, GROUPING SETS,ROLLUP,CUBE .... 집합함수의 값의 집계를 사용할 때 사용할 수 있는 매우 유용한 함수 입니다.
반응형
'PostgreSQL > 조인과 집계 데이터' 카테고리의 다른 글
PostgreSQL 분석함수 (0) | 2019.11.09 |
---|---|
PostgreSQL 분석 함수 실습 테이블 만들기 (0) | 2019.11.09 |
PostgreSQL ROLL UP절 (0) | 2019.11.09 |
PostgreSQL GROUPING SET 절 (0) | 2019.11.05 |
PostgreSQL HAVING 절 (0) | 2019.11.05 |
Comments