sql语句的groupby是做什么的(深入浅析SQL中的group by 和 having 用法)
sql语句的groupby是做什么的
深入浅析SQL中的group by 和 having 用法一、sql中的group by 用法解析:
Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。
作用:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
注意:group by 是先排序后分组!
举例说明:如果要用到group by 一般用到的就是“每”这个字, 例如现在有一个这样的需求:查询每个部门有多少人。就要用到分组的技术
select DepartmentID as '部门名称',COUNT(*) as '个数' from BasicDepartment group by DepartmentID
这个就是使用了group by +字段进行了分组,其中我们就可以理解为我们按照部门的名称ID
DepartmentID将数据集进行了分组;然后再进行各个组的统计数据分别有多少;
二、group by 和having 解释
前提:必须了解sql语言中一种特殊的函数——聚合函数。
例如:SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
WHERE关键字在使用集合函数时不能使用,所以在集合函数中加上了HAVING来起到测试查询结果是否符合条件的作用。
having称为分组过滤条件,也就是分组需要的条件,所以必须与group by联用。
需要注意说明:当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:
1、执行where子句查找符合条件的数据;
2、使用group by 子句对数据进行分组;
3、对group by 子句形成的组运行聚集函数计算每一组的值;
4、最后用having 子句去掉不符合条件的组。
having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。
having子句限制的是组,而不是行。聚合函数计算的结果可以当条件来使用,where子句中不能使用聚集函数,而having子句中可以。
总结
以上所述是小编给大家介绍的SQL中的group by 和 having 用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
- sql性能优化案例(SQL性能优化之定位网络性能问题的方法DEMO)
- SQL Server数据类型有哪些
- mysql的分页原理(mysql分页的limit参数简单示例)
- 一个sql查询数据多表连接查询(一条SQL语句查询多个数据库)
- sql server 知识大全(sql server 交集,差集的用法详解)
- mysql密码设置(mysql密码中有特殊字符&在命令行下登录的操作)
- sql语句执行顺序
- sqlserver 高级查询(利用 SQL Server 过滤索引提高查询语句的性能分析)
- mysql设置updatetime自动更新(mysql 实现添加时间自动添加更新时间自动更新操作)
- sql注入测试常用的工具(Sql注入工具_动力节点Java学院整理)
- mysql查看数据库cpu使用率(CPU 以及内存从哪些方面影响 MySQL 性能?)
- sql触发器编写教程(SQL Server 使用触发器trigger发送电子邮件步骤详解)
- MySql开启远程连接
- mysql和mycat半主从复制项目(Linux如何使用 MyCat 实现 MySQL 主从读写分离)
- sql server与erp的结合应用(SQL Server中with as使用介绍)
- mysql binlog模式实际使用(实例验证MySQL|update字段为相同的值是否会记录binlog)
- 记者手记 书记带我去 巡街(记者手记书记带我去)
- 富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元 | 美通社(富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元)
- 二次创业 的富士胶片,在进博会上首次展示完成转型后的全线医疗产品(二次创业的富士胶片)
- 富士胶片 中国 我们对上海的信心没有任何改变(富士胶片中国)
- 赢麻了 富士公布2021年度财报 营利同比增长240(富士公布2021年度财报)
- 医事文化谈屑 | 古人的名 字 号(医事文化谈屑古人的名)
热门推荐
- nginx日志请求状态(Nginx设置日志打印post请求参数的方法)
- dedecms搜索设置(织梦dedecms默认作者和默认来源修改方法)
- asp.net文件下载的方法
- python指定路径创建txt文件(python根据txt文本批量创建文件夹)
- VPS搭建离线下载服务器(后网盘时代)(VPS搭建离线下载服务器后网盘时代)
- pandas导入及数据结构用法(pandas数据集的端到端处理)
- lazyload延迟加载有什么影响(利用原生JS实现懒加载lazyLoad的三种方法总结)
- js开发工具图解(浅谈前端JS沙箱实现的几种方式)
- 阿里云docker 基础镜像(Docker 配置阿里云容器服务操作)
- docker容器无法启动(Docker 无法停止或删除容器服务问题的解决方案)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9