SQL Sever学习笔记四——分组—GROUP BY 子句

分组—GROUP BY子句

1.格式:`

select <列名1>,<列名2>,...
from<表名>
group by <列名1>,<列名2>,...;

GROUP BY 子句,BY子句中指定的列称为聚合键或分组列

2.功能:把表中的记录按照字段分成不同的组

3.实例演示:

--按照商品种类分组,并统计每组数据行数
select product_type,count(*) from Product
group by product_type;
--当聚合键中包含null时,也会将null作为一组特定的数据归为一类
select purchase_price,count(*)
from Product
group by purchase_price;

结果:
在这里插入图片描述

--where与group by 结合,先根据where子句指定的条件进行过滤,然后再进行汇总处理
select purchase_price,count(*)
from Product
where product_type='衣服'
group by purchase_price;

结果:
在这里插入图片描述

语句书写顺序:select→from→where →group by

GROUP BY 和WHERE并用时select语句的执行顺序:

from→where→group by→select

注意:
1.在使用COUNT这样的聚合函数时,SELECT子句中只能存在以下三种元素:常数,聚合函数,GROUP BY子句中指定的列名即聚合键。

2.select的列一定要包含在group by的列(聚合键)之中

3.在GROUP BY子句中不能使用别名

4.group by的显示结果是随机的;

5.WHERE子句中不能使用聚合函数

6.聚合函数可以在SELECT子句、HAVING子句和ORDER BY 子句中使用

更多详细内容见GROUP BY

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值