惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - herry507

在将 nvarchar 值 '0.00000' 转换成数据类型 int 时失败。 excel VBA点击图片放大缩小 mssql 解析XML 特殊字符造成浏览器显示异常 asysc /wait task 示例执行 MSSQL中解析JSON特殊字符 直接执行与EXCU里执行,竟效果不同 占有率最高的工业总线:PROFINET、Modbus 与 EtherCAT nvarchar和varchar区别 Wappalyzer的分析和欺骗 开窗函数进阶last_value特别地方 深入理解 Calculate 函数 android手机文件夹目录结构 手机文件管理目录 如何在Android中获取图片路径 线程间操作无效: 从不是创建控件“******”的线程访问它。 Android 整理常用的第三方库 androids上报表开发 为什么要用模块化、组件化才能完成 Android 项目中类加载功能? android多模块 安卓模块是什么意思 如何使用Android访问文件系统路径 让Android Studo 不编译某个Java文件 Java中list不包含某个元素 java list所在包 转载 解决AS插件与Gradle版本之间的对应问题
mssql 中group by cube,rollup,grouping示例
herry507 · 2025-05-19 · via 博客园 - herry507

mssql 中group by cube,rollup,grouping示例

--建表
if object_id('Orders','u') is not null drop table Orders
go
create table Orders (
OrderID INT
,CustomerID INT
,CustomerName varchar(20)
,ProductName varchar(20)
,SalesValue int
)
go
insert into Orders
values
(1,1, 'Lily','打印机',908)
,(2,1,'Lily','碎纸机',560)
,(3,2,'Coco','传真机',380)
,(4,2,'Coco','打印机',710)
,(5,2,'Coco','办公桌',420)
,(6,3,'Joe','办公椅',120)
,(7,4,'Emma','碎纸机',570)
,(8,1,'Lily','碎纸机',260)
,(9,3,'Joe','办公椅',100)
go


select CustomerID ,isnull(productname,'产品合计') as ProductName ,sum(salesvalue) as salevalue
from Orders
group by grouping sets ((customerid,productname))

select CustomerID ,sum(salesvalue) as salevalue
from Orders
group by grouping sets (CUBE(customerid))

select CustomerID ,isnull(productname,'产品合计') as ProductName ,sum(salesvalue) as salevalue
from Orders
group by grouping sets ((customerid,productname),(customerid))


select CustomerID ,isnull(productname,'产品合计') as ProductName ,sum(salesvalue) as salevalue
from Orders
group by customerid,productname with cube

select CustomerID ,isnull(productname,'产品合计') as ProductName ,sum(salesvalue) as salevalue
from Orders
group by customerid,productname with rollup


select CustomerID
,case when grouping (customerid) = 1 then '总计'
else isnull(ProductName,'产品合计') end as ProductName
,sum(salesvalue) as salevalue
from Orders
group by grouping sets ((customerid,productname),(customerid),())