sql语句中group by怎么用
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,小编给大家分享一下sql语句中group by怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.概述group by
千家信息网最后更新 2024年11月26日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安全错误
数据库的锁怎样保障安全
浙江通用软件开发零售价
工业自动化与网络安全
数据库具备的功能
小学教师网络技术研修计划
浙江综合软件开发
联通学好网络安全法规
北京师范大学表情数据库
数据库类命名规范
虚拟机配置与管理数字证书服务器
兵团党委网络安全和信息化
ebsco数据库免费使用
数据库的更新怎么操作
网络安全最简单的手绘画
php 数据库 转义
盐城智能刀片服务器定制
小镇大厨如何删除服务器上进度条
夺镜网络技术有限公司
全岛互联网科技
迷你世界哪个服务器好用
数据库关系模式集
常州数据网络技术怎么样
网络技术专业毕业选题
软件开发公司是哪种性质
锐思数据库怎么下载
数据库表中怎么降序排列
非归档模式恢复数据库
如何取消网络安全竞赛的预约
数据库isnull处理机制
字母代表服务器
数据库的索引会增加磁盘空间吗