중요한 GROUP BY
집계가있는 쿼리가 있습니다. 열 year, month, country, state, federation, city
에 의해큐브와 롤업을 결합하는 방법?
CREATE TABLE [data] (
[year] [int] NOT NULL ,
[month] [int] NOT NULL ,
[country] [varchar] (32) NOT NULL ,
[state] [varchar] (32),
[city] [varchar] (32) NOT NULL ,
[federation] [varchar] (32) NOT NULL ,
[id] [int] NOT NULL ,
[price] [int] NOT NULL);
INSERT data values(2012, 12, 'France', NULL, 'Paris', 'FFJ', 1, 23)
INSERT data values(2013, 2, 'France', NULL, 'Paris', 'FFV', 2, 212)
INSERT data values(2012, 1, 'USA', 'CA', 'Paris', 'FFV', 3, 23)
INSERT data values(2013, 12, 'France', NULL, 'Paris', 'FFV', 4, 273)
INSERT data values(2012, 9, 'USA', 'OR', 'Lake Oswego', 'FFV', 5, 743)
INSERT data values(2012, 11, 'France', NULL, 'Paris', 'FFJ', 6, 3)
INSERT data values(2012, 12, 'France', NULL, 'Paris', 'FFV', 7, 231)
INSERT data values(2012, 12, 'USA', 'CA', 'St Monica', 'FFV', 8, 41)
INSERT data values(2012, 12, 'France', NULL, 'Paris', 'FFV', 9, 96)
INSERT data values(2012, 12, 'France', NULL, 'Vire', 'FFJ', 10, 23)
INSERT data values(2012, 12, 'France', NULL, 'Paris', 'FFV', 11, 58)
INSERT data values(2012, 12, 'France', NULL, 'Nice', 'FFV', 12, 773)
I 그룹 : 여기에 단순화 된 스키마 (SQL Fiddle)입니다.
합계를 여러 단계로 가져와야하므로 ROLLUP
연산자를 사용합니다. 그러나 CUBE
을 country
(지리적 속성)과 federation
(그리고 조직 속성)의 두 열에 적용하고 싶습니다.
내 쿼리에서 단지 CUBE
이라면 나는 필요한 것보다 훨씬 많은 출력을 얻습니다. (실제로 모든 GROUP BY 열에 CUBE
을 적용 할 필요가 없습니다.)
해결 방법이 있습니까?
테스트 할 샘플 데이터를 줄 수 있습니까? –
@ 861051069712110711711710997114 여기 단순한 피들 : http://sqlfiddle.com/#!3/e941a/1/0 – Fractaliste
@ 861051069712110711711710997114 내가 원하는 큐브는 '국가'(지리적 특성)와 '연맹' organizationnal attribut) – Fractaliste