SQLServer之ComputeComputeBy实现数据汇总

SQLServer之ComputeComputeBy实现数据汇总,第1张

概述创建一个表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

创建一个表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',24
UNION ALL
SELECT 'cat','yellow',13
UNION ALL
SELECT 'ball',13
UNION ALL
SELECT 'dog',13
UNION ALL
SELECT 'cat','black',4
UNION ALL
SELECT 'cat','white',5

(1)Compute


SELECT name,num
FROM material
ORDER BY name,color
COmpuTE SUM(num),MAX(num)

结果:




(2)Compute By

SELECT name,MAX(num) BY name,color

结果:


总结:

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


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

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

总结

以上是内存溢出为你收集整理的SQLServer之Compute/ComputeBy实现数据汇总全部内容,希望文章能够帮你解决SQLServer之Compute/ComputeBy实现数据汇总所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1177954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存