千家信息网

sql语句中group by怎么用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下sql语句中group by怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.概述group by
千家信息网最后更新 2026年11月01日sql语句中group by怎么用

小编给大家分享一下sql语句中group by怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1.概述

group by 就是依据by 后面的规则对数据分组,所谓的分组就是讲数据集划分成若干个'小组',针对若干个小组做处理。

2.语法规则

SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name

3.举例说明

我们有这样一个订单表:

我们希望统计每一个用户订单的总金额,我们可以借助 group by 来实现:

select Customer,sum(OrderPrice) as total_price group by Customer;

出现下面的结果集:
Bush 2000
Carter 1700
Adams 2000
实际上是先讲数据按照Customer分组,然后统计每一组orderPrice的总和,最后以一组作为一行展现出来。
如果去掉group by 语句就会出现下面的结果:

它是讲所有的price相加得到最后的总和,与我们的预期是不一样的。

4.注意点

如果出现下面的写法:

select 类别, sum(数量) as 数量之和, 摘要from Agroup by 类别order by 类别 desc

会报错,因为select 的字段要么包含在group by 后面作为分组的依据,要么包含在聚合函数中,否则摘要的那一列无法匹配到一行。
因此可以采用如下的写法:

select 类别, sum(数量) AS 数量之和from Agroup by 类别order by sum(数量) desc

如果想使用多列分组,可以采用group by all语法:

select Customer,OrderDate,sum(OrderPrice) group by all Customer,OrderDate

5.where 和having的区别

where 是在查询分组前,讲不符合where 条件的行去掉,即在分组钱过滤数据,where 条件中不能包含聚合函数
having 是筛选满足条件的组,即在分组之后过滤数据,having语句中常常包含聚合函数,用having过滤出特定的组。
举例:

select Customer,sum(OrderPrice) as total_price group by Customer having total_price>1700;

以上是"sql语句中group by怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

分组 数据 数量 类别 语句 函数 条件 篇文章 面的 一行 之和 内容 写法 小组 就是 总和 摘要 结果 要么 规则 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 互联网科技海报 互联网科技公司官网 北京互联网络科技有限公司 天津摩尔互联网科技 科技互联网公司logo 广州凡科互联网科技 撒么互联网科技公司 科技类的互联网平台 华脉科技工业互联网产品 电子科技大学互联网创业大赛 工业互联网山东科技大学 广州百诚互联网科技有限公司官网 从那以后互联网科技有限公司 云鲸互联网络科技有限公司 互联网科技接地气 万物互联网智能科技 保山互联网科技靠谱吗 河南商务圈互联网科技有限公司 互联网大会出现的黑科技 百单网互联网科技有限公司怎么样 河南云网互联网络科技有限公司 为想互联网科技怎么样 互联网最新的科技 左右互联网络科技 佳云科技和互联网广告 广州市恰铎互联网科技有限公司 广州有谷有贝互联网科技有限公司 互联网金融运营模式中的金融科技 科技和互联网行业的特点
0