sqlserver rollup Linux
if not (‘..#t’) is null
drop table #t
Go
table #t( (5), (4), int)
#t
N’Table’,N’Blue’,124 union all
N’Table’,N’Red’,223 union all
N’Chair’,N’Blue’,101 union all
N’Chair’,N’Red’,210
Go
=case when ()=1 then ‘ALL’ else (Item, ”)end,
=case when ()=1 then ‘ALL’ else (,”)end,
sum()
from #t group by , with cube
/*
Item Color
—– —– ———–
Chair Blue 101
Chair Red 210
Chair ALL 311
Table Blue 124
Table Red 223
Table ALL 347
ALL ALL 658
ALL Blue 225
ALL Red 433
(9 個資料列受到影響)
*/
/*
包含带有许多维度的 CUBE 的 语句可能生成很大的结果集,因为这些语句会为所有维度中值的所有组合生成行。
这些大结果集包含的数据可能过多而不易于阅读和理解。这个问题有一种解决办法是将 语句放在视图中:
*/
view
as
=case when ()=1 then ‘ALL’ else (Item, ”)end,
=case when ()=1 then ‘ALL’ else (,”)end,
sum()
from tb group by , with cube –視圖中不能用臨時表,故改之
–然后即可用该视图来只查询您感兴趣的维度值:
*
FROM
WHERE Item = ‘Chair’ AND Color = ‘ALL’
/*
Item Color
——————– ——————– ———
Chair ALL 311.00
*/
–3 汇总数据
/*
用 汇总数据在生成包含小计和合计的报表时sqlserver rollupsqlserver rollup,运算符很有用。
运算符生成的结果集类似于 CUBE 运算符所生成的结果集。
CUBE 和 之间的区别在于: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
生成的结果集显示了所选列中值的某一层次结构的聚合。 例如sqlserver rollup Linux,简单表 #t
中包含:Item Color
*/
=case when ()=1 then ‘ALL’ else (Item, ”)end,
=case when ()=1 then ‘ALL’ else (,”)end,
sum()
from #t group by , with
/*
Item Color
—– —– ———–
Chair Blue 101
Chair Red 210
Chair ALL 311
Table Blue 124
Table Red 223
Table ALL 347
ALL ALL 658
(7 個資料列受到影響)
*/
/*
如果查询中的 关键字更改为 CUBE,那么 CUBE 结果集与上述结果相同,只是在结果集的末尾还会返回下列两行:ALL Blue 225.00
ALL Red 433.00
CUBE 操作为 Item 和 Color 中值的可能组合生成行。
例如,CUBE 不仅报告与 Item 值 Chair 相组合的 Color 值的所有可能组合(Red、Blue 和 Red + Blue),
而且报告与 Color 值 Red 相组合的 Item 值的所有可能组合(Chair、Table 和 Chair + Table)。
对于 GROUP BY 子句中右边的列中的每个值, 操作并不报告左边一列(或左边各列)中值的所有可能组合。例如,
并不对每个 Color 值报告 Item 值的所有可能组合。
操作的结果集具有类似于 BY 所返回结果集的功能;然而,具有下列优点: 返回单个结果集; BY 返回多个结果集sqlserver rollup,而多个结果集会增加应用程序代码的复杂性。
可以在服务器游标中使用; BY 不可以。
有时sqlserver rollup Linux,查询优化器为 生成的执行计划比为 BY 生成的更为高效。
*/
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » sqlserver rollup Linux
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

