T-SQL数据分组(2)

 

1、上次是使用聚合函数,获取计算之后的数据信息。

本节主要是对计算之后的数据,分组操作,使用 group by。

需要注意以下几点

(1)、select子句含有 group by 子句与 where 子句,那么

where 子句必须放在group by 的前面。

(2)、group by子句之后 列出的字段,最好不要包含 NULL数值。

如果存在NULL将被归为一组。

(3)、如果利用函数获取的数值,希望过滤掉一部分,需要通过having搭配使用。

例如

查询产品订货的最大数量与最小数量。

 

查询产品订货的最大数量与最小数量,保留订单最小数量 小于 10 的记录

 

2、利用附加命令产生额外聚合数据

在前面的基础上,可以搭配rollup,cube一起使用,得到完整的统计信息。

(1)、group by 与rollup 联合使用

通常使用group by 使用两个字段以上的时,可以搭配rollup整理进一步的统计信息。

* sqlserver分组的规则是“由左至右”,分组完成后才统计运算。

* group by后面不要超过10个字段。

例如:员工与客户之间的订单数量

 

加入 rollup 见有心的数据,

 

进一步优化

 

 

 

关于 cube的使用,下一节在介绍。

posted on 2026-05-12 17:04  panpeng666  阅读(37)  评论(0)    收藏  举报

导航