3-2 对表进行分组

GROUP BY 子句

SELECT <列名1>,<列名2>,<列名3>,……
FROM <表名>
GROUP BY <列名1>, <列名2>, <列名3>,……;

SELECT product_type, COUNT(*)
FROM Product
GROUP BY product_type;

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

法则3-6
GROUP BY就像是切分表的一把刀

GROUP BY子句的书写位置也有严格要求,一定要写在FROM语句之后(如果有WHERE子句的话要写在WHERE子句之后)

子句的书写顺序(暂定)
1.SELECT –>2.FROM –>3.WHERE –>4.GROUP BY
法则3-7
SQL子句的顺序不能改变,也不能互相替换

法则3-8
聚合键中包含NULL时,在结果中会以“不确定”行(空行)的形式表现出来

法则3-9
使用GROUP BY子句时,SELECT子句中不能出现聚合键之外的列名

法则3-10
在GROUP BY 子句中不能使用SELECT子句中定义的别名

法则3-11
GROUP BY 子句结果的显示是无序的

法则3-12
只有SELECT子句和HACING子句(以及ORDER BY子句)中能够使用聚合函数

DISTINCT和ORDER BY都能够删除后续列中的重复数据。除此之外,他们还都会吧NULL作为一个独立的结果返回,对多列使用时也会得到完全相同的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值