일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- spring
- SpringJDBC
- pointcut
- 컨테이너
- Dependency Injection
- myBatis
- 프로퍼티
- Spring Boot
- java
- STS
- java spring
- JDBC TEMPLATE
- AOP
- spring framework
- Spring JDBC
- @AspectJ
- 마이바티스
- 리눅스
- @test
- spring aop
- Linux
- @JUnit
- JdbcTemplate
- @Spring-Test
- XML
- unix
- POJO
- Framework
- Di
- Ubunt
Archives
- Today
- Total
개키우는개발자 : )
PostgreSQL ROLL UP절 본문
반응형
ROLL UP 이란?
지정된 GROUPING 컬럼의 소계를 생성하는데 사용된다. 간단한 문법으로 다양한 소계를 출력합니다.
기본문법
소계 「명사」 : 전체가 아닌 어느 한 부분만을 셈한 합계.
- 소계를 생성할 컬럼을 지정한 후 순서에 따라 결과값이 달라질 수 있다. (제일 앞에 놓인 것에 소계를 구함)
SELECT
C1,C2,C3,
집계함수(C4)
FROM TABLE_NAME
GROUP BY
ROLLUP (C1,C2,C3);
- 특정 컬럼을 제외한 부분적,선택적 ROLLUP도 가능 합니다.
SELECT
C1,C2,C3,
집계함수(C4)
FROM TABLE_NAME
GROUP BY C1
ROLLUP (C2, C3);
실습
- SALES 테이블의 BRAND,SEGMENT 컬럼 기준으로 ROLL UP을 합니다.
SELECT
BRAND,
SEGMENT,
SUM(QUANTITY)
FROM
SALES
GROUP BY
ROLLUP (BRAND,
SEGMENT)
ORDER BY
BRAND,
SEGMENT
BRAND,SEGMENT를 기준으로 합계 BRAND 기준으로 합계, 전체를 합계 하여 조회합니다. (첫번째 컬럼의 기준)
- SALES 테이블의 SEGMENT 기준으로 GROUP BY합니다. 그 후 BRAND 컬럼 기준으로 ROLL UP 합니다.
SELECT
BRAND,
SEGMENT,
SUM(QUANTITY)
FROM
SALES
GROUP BY
SEGMENT, ROLLUP (BRAND)
ORDER BY
BRAND,
SEGMENT
SEGMENT,BRAND컬럼 기준으로 합계 -> SEGMENT 컬럼 기준으로 합계 -> 전체합계는 구하지 않습니다.
- 반대로 BRAND를 기준으로 GROUP BY 하고 SEGMENT기준으로 ROLLUP을 합니다.
SELECT
BRAND,
SEGMENT,
SUM(QUANTITY)
FROM
SALES
GROUP BY
BRAND,ROLLUP (SEGMENT)
ORDER BY
BRAND,
SEGMENT
GROUP BY절 안에 ROLLUP할 컬럼을 지정하여 합계를 조회하는데 부분 ROLLUP을 할 경우 전체의 합계는 구하지 않습니다.
반응형
'PostgreSQL > 조인과 집계 데이터' 카테고리의 다른 글
PostgreSQL 분석 함수 실습 테이블 만들기 (0) | 2019.11.09 |
---|---|
PostgreSQL CUBE 절 (0) | 2019.11.09 |
PostgreSQL GROUPING SET 절 (0) | 2019.11.05 |
PostgreSQL HAVING 절 (0) | 2019.11.05 |
PostgreSQL GROUP BY 절 (0) | 2019.11.05 |
Comments