基础—SQL—DQL(数据查询语言)分组查询

news2025/1/22 17:56:20

一、引言

分组查询的关键字是:GROUP BY。

二、DQL—分组查询

1、语法

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];

注意

1、'[ ]' 里的内容可以有可以没有。

2、这条SQL语句有两块指定条件的地方,那它们之间有啥区别呢?

3、 WHERE 与 HAVING 区别:
(1)执行时机不同:WHERE 是
分组之进行过滤,不满足 WHERE 条件,不参与分组;而 HAVING分组之对结果进行过滤

(2)判断条件不同:WHERE 不能对聚合函数进行判断,而 HAVING 可以。

三、案例操作:

接下来回到 DataGrip 工具进行数据的分组查询学习和操作。

0、emp 表的初始数据

1、根据性别分组,统计男性员工和女性员工的数量
SELECT gender,COUNT(*) FROM emp GROUP BY gender;

2、 根据性别分组,统计男性员工和女性员工的平均年龄
SELECT gender,AVG(AGE) FROM emp GROUP BY gender;

3、查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址 

首先可以查到:查询年龄小于45的员工,并根据工作地址分组

SELECT workaddress,COUNT(*) FROM emp WHERE age<45 GROUP BY workaddress;

然后经过 WHERE 分组后再进行分组条件的判断:(HAVING),再进行分组查询得出结果。也就是要在分组的基础上再过滤

SELECT workaddress,COUNT(*) AS address_count FROM emp WHERE age<45 GROUP BY workaddress HAVING address_count >=3;

四、总结 

1、分组查询要用到的关键字叫 GROUP BY

2、在分组之前过滤叫 WHERE ,分组之后过滤叫 HAVING

3、注意

(1)执行顺序:WHERE > 聚合函数 > HAVING 。

也就是说:WHERE 是在分组之前过滤的,分组的时候是在执行聚合函数,而 HAVING 是在我们分组聚合之后过滤的。

(2)分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

举个例子说明:就第一个查询操作。

SELECT gender,COUNT(*) FROM emp GROUP BY gender;

根据编写的SQL语句的内容:聚合函数的字段是:COUNT(*),分组之后的字段是:gender 

而我们 SELECT 关键字后面跟着的就是这两个字段,也就是查询的字段是这两个。如果在SELECT 后面加一个 name 字段,那查出来的值无任何意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1719115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Playwright 自动化操作

之前有见同事用过playwright进行浏览器模拟操作&#xff0c;但是没有仔细了解&#xff0c;今天去详细看了下&#xff0c;发现playwright着实比selenium牛逼多了 Playwright 相对于selenium优点 1、自动下载chromnium, 无需担心chrome升级对应版本问题&#xff1b; 2、支持录屏操…

【UE5.1 角色练习】09-物体抬升、抛出技能 - part1

前言 在上一篇&#xff08;【UE5.1 角色练习】08-传送技能&#xff09;的基础上继续实现控制物体抬升、抛出的功能。 效果 步骤 一、准备技能动画 1. 在项目设置中新建一个操作映射&#xff0c;这里命名为“Skill_GravityControl”&#xff0c;用按键4触发 2. 通过IK重定向…

【UE5:CesiumForUnreal】——加载无高度地形数据

目录 1.实现目的 2.数据准备 2.1下载数据 2.2 数据切片 3.加载无地形数据 1.实现目的 在CesiumForUnreal插件中&#xff0c;我们加载地图和地形图层之后&#xff0c;默认都是加载的带有高程信息的地形数据&#xff0c;在实际的项目和开发中&#xff0c;有时候我们需要加载无…

使用QtCreator C++编写串口调试助手

100编程书屋_孔夫子旧书网 1.首先看一下我设计的界面&#xff08;我这里比较简单&#xff0c;大家可根据自己的需求进行设计&#xff09; &#xff08;界面设计的过程中&#xff0c;每一个控件的名称最好进行修改&#xff0c;便于后续控件太多不好区分&#xff0c;给控件命名的…

《中国科技纵横》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a; 问&#xff1a;《中国科技纵横》期刊是核心吗&#xff1f; 答&#xff1a;不是&#xff0c;是万方维普收录的正规期刊。 问&#xff1a;《中国科技纵横》知网收录吗&#xff1f; 答&#xff1a;知网不收录&#xff0c;万方维普收录。主管单位&#xf…

leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等的介绍

文章目录 前言一、单值二叉树二、相同的树三、二叉树的前序遍历四、二叉树的中序遍历五、二叉树的后序遍历六、另一棵树的子树七、二叉树的遍历总结 前言 leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等…

21 厂商考证介绍(华为 华三 锐键 深信服)+AI 解析

一 认识考证体系 二 明确考证的大致方向 锐键 职业资格证书等级介绍 职业资格证书是由国家职业资格鉴定机构或相关行业主管部门颁发的&#xff0c;用于证明一个人在特定职业领域具备一定技能和知识水平的证明文件。职业资格证书的等级分为初级、中级、高级、技师、高级技师、…

一个HL7的模拟工具

这个模拟器是为了过&#xff08; NIST美国国家标准与技术研究院&#xff08;National Institute of Standards and Technology&#xff0c;NIST&#xff09;的电子病历住院部分的认证而写的。 用途说明 inpatient中的lab order信息通过该工具向实验室转发该信息。并将实验室…

算法(二)二分查找

文章目录 二分查找简介实现方式循环方式递归方式 经典例子 二分查找简介 二分查找&#xff08;binary search&#xff09;算法&#xff0c;也叫折半算法。二分查找是针对有序的数据集合的查找办法&#xff0c;如果是无序的数据结合就使用遍历。二分查找之所以快速&#xff0c;…

MATLAB的plot3使用技巧|更改视角|例程分享链接

plot3命令 MATLAB的plot3函数是用来绘制3D图形的函数。它可以将三维数据可视化为线段、点、曲线等形式。plot3函数可以用于绘制三维空间中的曲线、曲面、散点图等。 plot3函数的基本用法是&#xff1a; plot3(X,Y,Z)&#xff1a;绘制三维线段&#xff0c;其中X、Y、Z分别是包…

使用C#实现VS窗体应用——画图板

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。&#x1f34e;个人主页&#xff1a;Meteors.的博客&#x1f49e;当前专栏&#xff1a;小项目✨特色专栏&#xff1a; 知识分享&#x1f96d…

FinalShell无法连接Linux

Linux使用Vmware会创建一个网络&#xff0c;让两个子网处于一个网关&#xff0c;这样就能在windows中连接Linux&#xff0c;只有在这种情况下才能FinalShell才能连接Linux

Java过滤特殊空格nbsp;

现象&#xff1a; 用Java处理excel文件中的以下字符串时&#xff0c;想去除此空格&#xff0c;却发现用String.trim()没有直到预期效果&#xff1a; 原因&#xff1a; 在网上找了下&#xff0c;应该是这其实是html中经常使用的一种特殊空格字符&nbsp&#xff1b; 处理&a…

关于PyQt5的TreeWidget的与百度Ai的问答

中肯的讲啊&#xff0c;不带有任何色彩啊&#xff0c;百度Ai在编程这方面确实差了点。确实是在网罗所有资料&#xff0c;但是收集起来不能进行深度的分析&#xff0c;好像没有设置一个自己先把总结出的代码答案运行一下的功能&#xff0c;所以有时候给出的代码答案根本跑不了。…

Java基础语法——字符串(String/StringBuilder/Stringjoiner)

String Java的String类是不可变的&#xff0c;意味着一旦创建&#xff0c;其值就不能被改变。String类提供了丰富的API来操作字符串。 以下是一些常用的方法&#xff1a; 构造方法&#xff1a; 有以下几种常见的&#xff1a; public class stringlearn {public static void…

基于知识图谱分析贸易关系走向

基于知识图谱分析贸易关系走向 前言一、基础数据二、贸易规则三、知识图谱可视化四、完整代码 前言 知识图谱是一种用图模型来描述知识和建模世界万物之间的关联关系的技术方法。在贸易关系的分析中&#xff0c;知识图谱可以将各个国家、地区、商品、贸易政策等作为节点&#…

【文件fd】回顾C语言文件操作 | 详细解析C语言文件操作写w追加a | 重定向和“w““a“

目录 前言 回顾C语言的操作 Q1 Q2 Q3 C语言文件操作 w方式 a方式 重定向和"w""a"方式 前言 前面进程虚拟地址空间让我们对进程的理解更加深入。在基础IO我们会详细介绍文件和文件系统。本专题的核心内容是文件。 深刻理解文件&#xff08;站在…

力扣Hot100-有效的括号(栈stack)

给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

⌈ 传知代码 ⌋ 基于BERT的语义分析实现

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

江苏大信环境科技有限公司:环保领域的开拓者与引领者

2009 年&#xff0c;江苏大信环境科技有限公司在宜兴环保科技工业园成立。自创立之始&#xff0c;该公司便笃定坚守“诚信为本、以质量求生存、以创新谋发展”这一经营理念&#xff0c;全力以赴为客户构建专业的工业有机废气治理整体解决方案&#xff0c;进而成为国家高新技术企…