mysql 누계 쿼리 문의드려요 0 1 102

by 궁금한넘 [MySQL] 누계 mysql rollup [2017.06.18 01:36:23]


수고가 많으시네요...
Mysql 쿼리를 이용해서 통계 데이터를 추출하는데,
아래와 같이 RollUP을 통해서 하는데 잘 안되서요.. 결과값처럼 누계값이 여러개의 로우로 나타나서요 제가 원하는 것은 

하나의 로우에 누계값이 보여줘야하는데... 잘 안되네요.

도움 부탁드려요

 

쿼리문)

select date, company, name, sum1, sum2, sum3

from test_table

where date = '2017068' and company = 'A' 

group by date, company, name

 with ROLLUP

 

결과값)

date         |   company   |     name   |   sum1   |   sum2   |   sum3  
-----------------------------------------------------------------------------
20170618  |   A             |      홍길동 |       10    |       9   |        3  

20170618  |   A             |       김정수 |      28    |        7   |       2  

20170618  |   A             |        이용대 |     43    |       22    |      7  

20170618  |   A             |         null    |    81     |       38   |     12

20170618  |   null          |         null    |    81     |       38   |     12

null          |   null          |         null    |    81     |       38   |     12



조언좀 부탁드립니다.

by 마농 [2017.06.19 09:47:32]

롤업은 단계적으로 소계와 합계를 보여주기 때문에
3개 항목에 대한 그룹바이이므로 여러줄의 소계가 나오게 됩니다.
오라클의 경우 괄호로 묶어 줌으로써 소계 없이 전체 합계만 나오게 하는것이 가능합니다.
 GROUP BY ROLLUP((date, company, name))
그러나 이러한 괄호 사용법은 MySQL 에서는 안됩니다.
위 예의 경우 date 와 company 가 고정값이므로 아예 GROUP BY 에서 빼세요.
 GROUP BY name WITH ROLLUP

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입