sql – 具有多个GROUP BY的总体摘要
发布时间:2020-12-12 16:12:59 所属栏目:MsSql教程 来源:网络整理
导读:说我有一张叫做人口普查的表格,具有以下信息: COUNTRY PROVINCE CITY POPULATION==============================================USA California Sacramento 1234USA California SanFran 4321USA Texas Houston 1111USA Texas Dallas 2222Canada Ontario Ott
说我有一张叫做人口普查的表格,具有以下信息:
COUNTRY PROVINCE CITY POPULATION ============================================== USA California Sacramento 1234 USA California SanFran 4321 USA Texas Houston 1111 USA Texas Dallas 2222 Canada Ontario Ottawa 3333 Canada Manitoba Winnipeg 4444 我正在国家/省级建立一份报告,其中给出了以下几点: SELECT country,province,SUM(population) FROM census GROUP BY country,province; COUNTRY PROVINCE SUM(POPULATION) ======================================= USA California 5555 USA Texas 3333 Canada Ontario 3333 Canada Manitoba 4444 我希望在报告中包含一个“总体摘要”行,以便最终的结果如下所示: COUNTRY PROVINCE SUM(POPULATION) ======================================= USA California 5555 USA Texas 3333 Canada Ontario 3333 Canada Manitoba 4444 TOTAL 16665 我熟悉ROLLUPs,但我似乎找不到一个组合,让我得到我正在寻找的东西.使用GROUP BY ROLLUP(country,province)包括我想要的总值,但它也包含大量我不关心的额外值. GROUP BY ROLLUP(country),省也是如此 如何做出“总”记录? 这是一个SQL小提琴,想要玩这个:http://sqlfiddle.com/#!4/12ad9/5 解决方法这正是070??00表达式设计的:SELECT country,SUM(population) FROM census GROUP BY GROUPING SETS ( (country,province),-- first group by country and province () -- then by (nothing),i.e. a total grouping ); 见SQL-Fiddle (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |