mysql分组聚合compute_SQLServer之Compute/ComputeBy实现数据汇总

创建一个表Material用于测试 CREATE TABLE material( pid INT PRIMARY KEY IDENTITY(1,1), name VARCHAR(100), color VARCHAR(50), num INT ); 插入些许测试: INSERT INTO material(name,color,num) SELECT 'ball','red',12 UNION ALL SELECT 'ball','red',

创建一个表Material用于测试

CREATE TABLE material(

pid INT PRIMARY KEY IDENTITY(1,1),

name VARCHAR(100),

color VARCHAR(50),

num INT

);

插入些许测试值:

INSERT INTO material(name,color,num)

SELECT 'ball','red',12

UNION ALL

SELECT 'ball','red',24

UNION ALL

SELECT 'cat','yellow',13

UNION ALL

SELECT 'ball','yellow',13

UNION ALL

SELECT 'dog','yellow',13

UNION ALL

SELECT 'cat','black',4

UNION ALL

SELECT 'cat','white',5

(1)Compute

SELECT NAME,color,num

FROM material

ORDER BY NAME,color

COMPUTE SUM(num),MAX(num)

结果:

13717730975440.jpg

(2)Compute By

SELECT NAME,color,num

FROM material

ORDER BY NAME,color

COMPUTE SUM(num),MAX(num) BY NAME,color

结果:

13717730975601.jpg

总结:

GROUP BY 生成单个结果集。每个组都有一个只包含分组依据列和显示该组子聚合的聚合函数的行。选择列表只能包含分组依据列和聚合函数。

COMPUTE 生成多个结果集。一类结果集包含每个组的明细行,其中包含选择列表中的表达式。另一类结果集包含组的子聚合,或 SELECT 语句的总聚合。选择列表可包含除分组依据列或聚合函数之外的其它表达式。聚合函数在 COMPUTE 子句中指定,而不是在选择列表中。

说明 在 COMPUTE 或 COMPUTE BY 子句中,不能包含 ntext、text 或 image 数据类型。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值