SQL Server中集锦功能的使用GROUPING,ROLLUP和CUBE
SQL Server中汇总功能的使用GROUPING,ROLLUP和CUBE文章转载自 http://www.cnblogs.com/rippleyong/archive
SQL Server中汇总功能的使用GROUPING,ROLLUP和CUBE
文章转载自 http://www.cnblogs.com/rippleyong/archive/2004/11/18/65143.html
第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的
聚集函数:GROUPING
用于汇总数据用的运算符: ROLLUP
USE pubsSELECT royalty, SUM(advance) 'total advance', GROUPING(royalty) 'grp' FROM titles GROUP BY royalty WITH ROLLUP
结果集在 royalty 下显示两个空值。第一个 NULL 代表从表中这一列得到的空值组。第二个 NULL 在 ROLLUP 操作所添加的汇总行中。汇总行显示的是所有 royalty 组的 advance 合计数值,并且在 grp 列中用 1 标识。
下面是结果集:
royalty total advance grp
--------- --------------------- ---
NULL NULL 0
10 57000.0000 0
12 2275.0000 0
14 4000.0000 0
16 7000.0000 0
24 25125.0000 0
NULL 95400.0000 1 对GROUPING,ROLLUP,CUBE的介绍来自SQL Server2000中文版的帮助. 转载自 http://www.cnblogs.com/rippleyong/archive/2004/11/18/65143.html