mysq数据库查询之分组查询

一、什么是分组查询

分组查询:将查询结果按照指定字段进行分组

二、分组查询的基本语法

select 查询字段 from 表名 [where 条件] group by 分组字段名 [having 条件表达式]

三、实际操作

分组查询形式一: 分组查询

代码演示


查询结果

 

 


分组查询形式二: 聚合函数+分组查询

代码演示


查询结果


分组查询形式三: 分组条件+分组查询

代码演示

 


查询结果

 


分组查询形式四: 分组查询+排序

代码演示

 


查询结果

 


分组查询形式五: 分组查询+分组条件+排序+显示前3

代码演示

 


查询结果

 


四、having与where的区别

having : 先分组,再把不符合条件的数据过滤掉,效率较低。(意思就是,having是上来直接处理全部数据,然后一步步执行其它的条件)但是使用范围广,聚合函数需要having过滤。

where : 先把不符合条件的数据过滤掉,再分组;效率较高。(where就是不管其它的,上来先把不符合条件的过滤掉,在执行其它的条件,处理的数据开始就变少了)

总结: 聚合函数的时候必须用having过滤,但在没有聚合函数的时候where的执行效率要高于having的执行效率

posted @   露予欢  阅读(129)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示