栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SQL极简核心:GROUP BY 分组

SQL极简核心:GROUP BY 分组

文章目录

概念用法注意事项

概念

GROUP BY allows you to separate data into groups, which can be aggregated independently of one another.

GROUP BY 语句作用于某一列或者多列(分组列),然后按照分组列的不同值对表格进行分组(分组=分区+去重)
为什么强调”去重“,因为窗口函数没有去重 ,只有分区功能。

如何理解去重?GROUP BY city 就是选出 City 的值作为分组对象,这个值必然是不重复的。

namecity
Robinsh
Bobhz
Lilysh
Alicesz

分组对象为

City
sh
hz
sz
用法

字段去重

SELECt col_name
FROM t
WHERe condition
GROUP BY col_name

分组聚合
GROUP BY 更常用的是聚合函数配合使用,将全局聚合变成分组聚合,结果由原来的一行,变为多行

如:

SELECt city, COUNT(name) cnt
FROM t
GROUP BY city

结果则为:

namecnt
sh2
hz1
sz1

聚合函数COUNT统计的是在分组的情况下,分组以外字段的数量

注意事项

不论语法还是实际执行顺序,GROUP BY分组操作 在 行过滤WHERe之后进行使用了GROUP BY 之后对SELECT的限制:SELECT 之后的字段必须是分组字段或者聚合字段,不允许有其它多余字段!如果包含分组对象的值含有 NULL,那么NULL也会作为最终分组结果之一。如果需要对聚合项的聚合值进行行过滤要使用HAVINg,而不是对特定行进行行过滤的WHERe
(WHERe进行普通行过滤,而HAVINg分组行过滤)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号