当前位置: 首页 > news >正文

sql中group by和having的使用

group by:按照某个字段或者某些字段进行分组。
having:对分组之后的数据进行再次过滤,having必须和group by一起用,且在group by后面。
比如person表如下(以下查询均基于此表):
在这里插入图片描述
1.group by 用法:对某个或某些字段进行分组
对sex字段进行分组时:

select sex from test.person group by sex;

在这里插入图片描述
也可对多个字段进行分组,比如对sex和age同时分组。此时我们的数据如下:
在这里插入图片描述

select sex, age from test.person group by sex, age;

在这里插入图片描述

从上面结果来看,某种意义上,是和distinct功能类似。
所以,在更多时候,group by是和分组函数(count、sum、avg、max、min) 联合使用的,需要注意的是,任何一个分组函数都是在group by执行结束后才会执行的。
eg,要查询男、女分组下的最大年龄,与max函数联合使用:

select sex,max(age) from test.person group by sex;

在这里插入图片描述
又或者,要查询男、女的人数,与count函数联合使用:

select sex, count(sex)  from test.person group by sex;

在这里插入图片描述
2.接下来就要说having的使用了having是对分组数据的筛选。
eg,要查询人数大于1的分组,使用having筛选时,要写到group by后面

select sex from test.person group by sex having count(sex) > 1 ;

在这里插入图片描述
3.having和where的区别
先给一个简单的语句:

select sex from test.person where age < 21 group by sex;

执行结果如下:
在这里插入图片描述
由此可见,where语句是在分组之前执行的。总结where和having的区别就是:

havingwhere
1.分组之前执行 2.后面不能再跟max,min,count等聚合函数(因为where的执行顺序大于聚合函数) 3.过滤的是原表的数据,过滤掉的数据,不参与分组1.分组之后执行 2.后面不能再跟max,min,count等聚合函数 3.过滤的是分组后的数据 4.支持所有WHERE操作符

相关文章:

sql中group by和having的使用

group by&#xff1a;按照某个字段或者某些字段进行分组。 having&#xff1a;对分组之后的数据进行再次过滤&#xff0c;having必须和group by一起用&#xff0c;且在group by后面。 比如person表如下&#xff08;以下查询均基于此表&#xff09;&#xff1a; 1.group by 用法…...

用python自行开发的流星监控系统meteor_monitor(第二篇)

代码&#xff1a; GitHub - xingxinghuo1000/meteor_monitor_scripts 本篇为最新代码的方案介绍和使用介绍。第一篇已经过时了&#xff0c;不建议看 。只看这一篇即可。 背景 著名的流星监控软件ufocapturehd2有几个缺陷&#xff0c;不能忍 1、吃性能&#xff0c;我的工控电脑…...

Slf4j使用Logback时,Logback如何初始化

前言 Slf4j SLF4J&#xff0c;全称 Simple Logging Facade for Java&#xff0c;是一个用于Java编程语言的日志系统抽象层。它为多种现有日志框架&#xff08;例如Log4j、java.util.logging等&#xff09;提供了统一的接口, 但自身并不实现日志功能。 SLF4J 允许用户在部署时…...

css之svg 制作圆及旋转

1.代码 <template><div class"loading-box"><div class"circle-container"><svg width"75" height"75" class"move-left-to-right"><circle cx"37.5" cy"37.5" r"26&…...

学习.NET验证模块FluentValidation的基本用法(续1:其它常见用法)

FluentValidation模块支持链式验证方法调用&#xff0c;也就是说&#xff0c;除了 RuleFor(r > r.UserName).NotEmpty()调用方式之外&#xff0c;还可以将对单个属性的多种验证函数以链式调用方式串接起来&#xff0c;比如UserName属性不能为空&#xff0c;长度在5~10之间&a…...

lv11 嵌入式开发 UART实验 11

目录 1 UART帧格式详解 1.1 UART简介 1.2 通信基础 - 并行和串行 1.3 通信基础 - 单工和双工 1.4 通信基础 - 波特率 1.5 UART帧格式 2 Exynos4412下的UART控制器 2.1 引脚功能设置 2.2 阅读芯片手册 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 3.3 ULC…...

Ubuntu22.04下打包发布Qt5.15应用程序的方法

Qt应用编译时选择release方式编译 目的&#xff1a;debug方式编译依赖的文件会多一些&#xff0c;同时文件大小还会很大。 Notice: 所有操作都是在当前用户下&#xff0c;如果是root账户&#xff0c;需要注意加上sudo&#xff0c;否则会因为权限问题提取依赖文件失败。 准备…...

初级JVM

1、对象在哪块内存分配&#xff1f; 数组和对象在堆内存分配&#xff1b;某些对象没有逃逸出方法&#xff0c;可能被优化为在栈上分配 2、谈谈 JVM 中的常量池 JDK 1.8 开始 字符串常量池&#xff1a;存放在堆中&#xff0c;包括 String 对象执行 intern() 方法后存的地方、…...

MySQL数据库 编程入门

目录 MySQL数据库数据类型 MySQL数据库命令执行 创建用户 创建删除库 创建删除表 MySQL数据库数据类型 MySQL数据库定义了多种数据类型&#xff0c;下面是一些常见的MySQL数据类型及其对应的C/C类型&#xff1a; 整数类型&#xff1a; TINYINT&#xff1a;有符号范围-1…...

6.golang函数

函数是执行特定任务的代码块。函数接受输入&#xff0c;对输入执行一些计算&#xff0c;然后生成输出。 函数声明 在 go 中声明函数的语法是&#xff1a; func name(parameter) (result-list){//body }函数声明以func关键字开头&#xff0c;后跟name(函数名)。在括号中指定参…...

软件可靠性测试常见的方法

“测试”一般是指“为了发现程序中的错误而执行程序的过程”&#xff0c;可靠的测试性是相对重要的&#xff0c;在部分产品开始的测试阶段&#xff0c;需要的就是可靠的测试性&#xff0c;机构&#xff0c;所以存在意义较大。但是在不同的开发阶段、对于不同的人员&#xff0c;…...

C/C++字节对齐

C/C字节对齐 C/C字节对齐1.G_PACKED2.1 pack(push)2.2 pack(1) 全部例子 C/C字节对齐 1.G_PACKED #ifdef __GNUC__#define G_PACKED( __Declaration__ ) __Declaration__ __attribute__((packed)) #else#define G_PACKED( __Declaration__ ) __pragma( pack(push,1)) __Decla…...

【Android知识笔记】性能优化专题(四)

App 线程优化 线程调度原理 任意时刻,只有一个线程占用CPU,处于运行状态多线程并发:轮流获取CPU使用权JVM负责线程调度:按照特定机制分配CPU使用权线程调度模型 分时调度模型:轮流获取、均分CPU时间抢占式调度模型:优先级高的获取,JVM采用Android线程调度 nice值:Proc…...

DC电源模块的散热措施

BOSHIDA DC电源模块的散热措施 DC电源模块的散热措施可以分为以下几种&#xff1a; 1. 增加散热器&#xff1a;在DC电源模块的电路板上增加散热片或散热器&#xff0c;通过增加散热面积和散热能力来提高散热效果。 2. 增加风扇&#xff1a;在散热器的基础上增加风扇&#xff…...

uniapp H5、小程序、APP端自定义不同运行环境(开发、测试、生产)、自定义条件编译平台、以及动态修改manifest.json值讲解

文章目录 前言一、自定义条件编译平台是什么&#xff1f;二、新增自定义条件编译平台三、动态设置服务器请求地址四、动态修改manifest.json1.根目录新增文件 modifyManifest.js2.vue.config.js引入modifyManifest.js 总结示例代码 前言 企业项目开发流程上一般都要配置多个运…...

centos 显卡驱动安装(chatglm2大模型安装步骤一)

1.服务器配置 服务器系统:Centos7.9 x64 显卡:RTX3090 (24G) 2.安装环境 2.1 检查显卡驱动是否安装 输入命令:nvidia-smi(显示显卡信息) 如果有以下显示说明,已经有显卡驱动。否则需要重装。 2.2 下载显卡驱动 第一步:浏览器输入https://www.nvidia.cn/Downloa…...

05_属性描述符

05_属性描述符 文章目录 05_属性描述符一、属性描述符是什么&#xff1f;二、属性描述符①&#xff1a;查看属性描述②&#xff1a;设置属性描述符③&#xff1a;案例01.代码实现02.代码实现&#xff08;优化&#xff09; 一、属性描述符是什么&#xff1f; 属性描述符的结构 在…...

vue day2

1、指令修饰符&#xff1a;.指明一些指令后缀&#xff0c;不同后缀封装不同处理操作 按键修饰符&#xff1a;keyup.enter v-model修饰符&#xff1a; v-model.trim&#xff1a;去首位空格 v-model.number&#xff1a;转数字 事件修饰符&#xff1a; 阻止事件冒泡&#xff1…...

四川劳动保障杂志社四川劳动保障编辑部四川劳动保障杂志2023年第10期目录

主题报道 四川抢抓“金九银十”招聘季多措并举稳就业促就业 举措频“上新” 金秋送岗忙 张玉芳; 2-5 法眼《四川劳动保障》投稿&#xff1a;cnqikantg126.com 筑牢长期护理保险基金安全防线 李科仲;赖晓薇; 6-7 调研 提升职业技能培训工作的举措 寇爵; 8-9 城乡…...

python数据类型

int 整型 i 1str 字符串 name1Emliy name2"你好" content""" Emily&#xff1a;你好&#xff01; """ test你最"帅" test2"你最帅"float 浮点类型 height182.5 weight45.3bool 布尔类型 f1True f2Falselist …...

020、深度学习入门:神经网络基础与反向传播

昨天调一个三层的全连接网络&#xff0c;loss死活不降。打印梯度发现第一层的权重全是零——反向传播根本没传过去。同事凑过来看了一眼&#xff1a;“你激活函数梯度写错了吧&#xff1f;”一查代码&#xff0c;果然在tanh求导的地方少了个平方。这种低级错误让我想起刚入门时…...

【顶刊复现】跟网型逆变器小干扰稳定性分析与控制策略优化Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f447; 关注我领取海量matlab电子书和数学建模资料&#x1f34a;个人信条&#xff1a;格物致知,完整Matl…...

过期域名抢注对SEO优化有什么影响

过期域名抢注对SEO优化有什么影响 在互联网时代&#xff0c;域名作为网站的“地址”在搜索引擎优化&#xff08;SEO&#xff09;中占据重要地位。当一个域名过期且没有被注册&#xff0c;它就成为了一个“空壳”&#xff0c;任何人都可以抢注。过期域名抢注对SEO优化有什么影响…...

先定义CSP的核心变量

67-考虑光热电站的综合能源系统优化调度模型 摘要&#xff1a;代码主要做的是含有光热电站的综合能源系统优化调度模型&#xff0c;共做了四个算例&#xff0c;分别对比了目标函数一次、二次、考虑弃风弃光、碳排放等四个算例&#xff0c;综合能源系统主要设备包括光热电站、风…...

WarcraftHelper:突破经典游戏限制的焕新体验工具

WarcraftHelper&#xff1a;突破经典游戏限制的焕新体验工具 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 当你在4K显示器上启动《魔兽争霸III》时&…...

漏洞挖掘变现指南:合法渠道\+赏金技巧,新手也能月入过万

很多新手学习漏洞挖掘&#xff0c;不仅是为了提升技术&#xff0c;更是为了实现“技术变现”——通过提交漏洞获取赏金、兼职接单&#xff0c;这也是网络安全领域的核心福利之一。但变现的前提是“合法合规”&#xff0c;本文拆解漏洞挖掘的合法变现渠道、赏金提升技巧、避坑指…...

深度解析ComfyUI-Easy-Use中Flux采样器Guidance参数的技术实现与优化策略

深度解析ComfyUI-Easy-Use中Flux采样器Guidance参数的技术实现与优化策略 【免费下载链接】ComfyUI-Easy-Use In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes. 项目地址: https://gitcode.co…...

电力设施智能检测:TTPLA数据集赋能电网巡检自动化全流程指南

电力设施智能检测&#xff1a;TTPLA数据集赋能电网巡检自动化全流程指南 【免费下载链接】ttpla_dataset aerial images dataset on transmission towers and power lines 项目地址: https://gitcode.com/gh_mirrors/tt/ttpla_dataset 在电力行业数字化转型进程中&…...

Kazumi:开源动漫聚合工具如何重塑你的追番体验

Kazumi&#xff1a;开源动漫聚合工具如何重塑你的追番体验 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP&#xff0c;支持流媒体在线观看&#xff0c;支持弹幕&#xff0c;支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 在数字娱乐爆…...

第6章 数据类型转换-6.7 转换为字典

通过使用dict()函数可以将列表或元组转换为字典。其语法格式如下&#xff1a;dict([x])其中&#xff0c;参数x为可选参数&#xff0c;表示列表或元组&#xff0c;且该列表或元组必须是键值对形式&#xff0c;如果省略该参数&#xff0c;则该函数返回空字典。示例代码如下&#…...