SQL中的分组查询


      SQL Server中使用的分组查询是ORDER BY子句,使用ORDER BY子句要同聚合函数配合使用才能完成分组查询,在SELECT查询的字段中如果字段没有使用聚合函数就必须出现在ORDER BY子句中(即SELECT后边的字段名要么出现在聚合函数中,要么在ORDER BY子句中使用)

      在分组查询中还可以配合使用HAVING子句,定义查询条件,例如:

select stuID as 学生编号,CourseID as 测试编号,avg(Score) as 测试平均成绩

from score

group by stuID,CourseID   --按学号和测试编号分组

having count(Score)>1     --条件是分组后成绩记录数大于的

 

      下面对比一下WhereGROUP BYHAVING的区别:

Where子句:从数据源去掉不符合搜索条件的数据

GROUP BY子句:分组,使用统计函数(聚合函数)为每组计算统计值

HAVING子句:在分好的组中去掉每组中不符合条件的数据行

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值