SQL SERVER中的union,cube,rollup和cumpute运算符
日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]-
(null) Red 433.00
这两行报告了 Color 维度的小计。两行中的 Item 维度值都是 NULL,表示聚合数据来自 Item 维度为任意值的行。
使用 GROUPING 区分空值
CUBE 操作所生成的空值带来一个问题:如何区分 CUBE 操作所生成的 NULL 值和从实际数据中返回的 NULL 值?这个问题可用 GROUPING 函数解决。如果列中的值来自事实数据,则 GROUPING 函数返回 0;如果列中的值是 CUBE 操作所生成的 NULL,则返回 1。在 CUBE 操作中,所生成的 NULL 代表全体值。可将 SELECT 语句写成使用 GROUPING 函数将所生成的 NULL 替换为字符串 ALL。因为事实数据中的 NULL 表明数据值未知,所以 SELECT 语句还可译码为返回字符串 UNKNOWN 替代来自事实数据的 NULL。例如:SELECT CASE WHEN (GROUPING(Item) = 1) THEN 'ALL'
ELSE ISNULL(Item, 'UNKNOWN')
END AS Item,
CASE WHEN (GROUPING(Color) = 1) THEN 'ALL'
ELSE ISNULL(Color, 'UNKNOWN')
END AS Color,
SUM(Quantity) AS QtySum
FROM Inventory
GROUP BY Item, Color WITH CUBE多维数据集
CUBE 运算符可用于生成 n 维的多维数据集,即具有任意数目维度的多维数据集。只有一个维度的多维数据集可用于生成合计,例如:SELECT CASE WHEN (GROUPING(Item) = 1) THEN 'ALL'
ELSE ISNULL(Item, 'UNKNOWN')
END AS Item,
SUM(Quantity) AS QtySum
FROM Inventory
GROUP BY Item WITH CUBE
GO此 SELECT 语句返回的结果集既显示了 Item 中每个值的小计,也显示了 Item 中所有值的总计:
Item QtySum
- 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
-
- SQL SERVER中的union,cube,rollup和cumpute运算符 相关文章:
- ·SQL SERVER中的union,cube,rollup和cumpute运算符
- SQL SERVER中的union,cube,rollup和cumpute运算符 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·SQL Server 练习题
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·查询及删除重复记录的方法大全
- ·SQL server 2005安装问题汇总
- ·MS SQL的一些经典常用操作语句汇总
- ·SQL语法大全
- ·掌握SQL Server数据库的实用技巧
- ·解决用sa登录sql 2005失败的问题
- ·SQL Server建立应用程序安全性和程序角色
- ·轻松掌握使用 SQL Server 浏览器
- ·SQL Server安全问题全攻略之口令
- ·SQL Server 2005 中的分区表和索引
- ·sql server2000导入mdf文件
- ·一个复合查询方法
- ·如何创建SQL Server 2000故障转移群集
- ·SQL Server 2000企业版安装教程(1)
- ·SQL Server 2005 Reporting Services 初次使用感受
- ·使用用于SQL Server的IIS虚拟目录管理实用工具
- ·SQL Server中函数的用法两种
- ·改进SQL Server数据库系统安全五步走
特别推荐
- ·结束SQL注入隐患3招
- ·掌握SQL Server数据库的实用技巧
- ·SQL的简单查询
- ·快速解决SQL Server“安全疑难”相关问题
- ·SQL Server 2005:你应知道的13件事
- ·实例解析:减少SQL日志大小的三个好方法
- ·使用SQL2000将现有代码作为Web服务提供
- ·sql server 2000数据库置疑的解决方法
- ·SQL Server安全问题全攻略之口令
- ·XP上不能安装MicrosoftSQLSERVER2000吗
- ·解析Microsoft Sql Server中的like语句
- ·推荐;适合SQL初学者学习的SQL FAQ集锦
- ·SQL Server 2005 中的分区表和索引
- ·查询及删除重复记录的方法大全
- ·详细介绍优化SQL Server 2000的设置
- ·关于SQL SERVER 日志满的处理方法
- ·使用SQL Server 2000索引视图提高性能
- ·SQL server 2005安装问题汇总
- ·解决用sa登录sql 2005失败的问题
- ·简单三步走堵死SQL Server注入漏洞
