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

MySQL - group by分组查询 (查询操作 三)

功能介绍

group by: 对数据进行分组和聚合操作(可以操作单字段和多字段)

having:过滤group by的结果,也就是在分组后添加筛选条件

基础语法

select  字段列表  from  表名  [ where 条件 ]   group by  分组字段名  [ having ];

where 和 having的区别

执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组
之后
对结果进行过滤。(执行顺序:where -> 聚合函数 ->having)
判断条件不同:where不能对聚合函数进行判断,而having可以。

实践操作

1. 查询每个性别(男、女)的用户数量:

SELECT gender, COUNT(*) as count
FROM User
GROUP BY gender;

2. 查询年龄大于20的男性用户数量:

SELECT gender, COUNT(*) as count
FROM User
WHERE age > 20 AND gender = 1
GROUP BY gender;

3. 查询每个性别的用户年龄总和,并按照总和降序排序

SELECT gender, SUM(age) as total_age
FROM User
GROUP BY gender
ORDER BY total_age DESC;

4. 查询每个性别的用户数量,并筛选出数量大于等于2的分组

SELECT gender, COUNT(*) as count
FROM User
GROUP BY gender
HAVING count >= 2;

5. 查询每个性别的用户数量,并按照数量降序排序,只返回前1个分组:

SELECT gender, COUNT(*) as count
FROM User
GROUP BY gender
ORDER BY count DESC
LIMIT 1;

6.多字段分组

SELECT gender, age, COUNT(*) as count
FROM User
GROUP BY gender, age;

上一篇:MySQL - SQL聚合函数(查询操作 二)

下一篇:MySQL - order by排序查询 (查询操作 四)

相关文章:

MySQL - group by分组查询 (查询操作 三)

功能介绍 group by: 对数据进行分组和聚合操作(可以操作单字段和多字段) having:过滤group by的结果,也就是在分组后添加筛选条件 基础语法 select 字段列表 from 表名 [ where 条件 ] group by 分组字段名 [ having ]; where 和 having的区…...

96.qt qml-http之XMLHttpRequest介绍详解使用

在QML中我们可以通过XMLHttpRequest 来实现http/https访问网络接口,接下来我们先来学习XMLHttpRequest类的常用部分、 由于QML的XMLHttpRequest少部分参数是没有的,所以本章来单独讲解下。下章我们来实现旋转请求按钮以及通用的JSON请求模板方法 1.XMLHttpRequest初步使用 …...

代码随想录算法训练营第五十天 | 123.买卖股票的最佳时机III 188. 买卖股票的最佳时机 IV

1. 买卖股票的最佳时机 III 123. 买卖股票的最佳时机 III - 力扣(LeetCode) * 定义 5 种状态: * 0: 没有操作, 1: 第一次买入, 2: 第一次卖出, 3: 第二次买入, 4: 第二次卖出 class Solution {public int maxProfit(int[] prices) {int length prices.l…...

详解window.print(),实现长列表打印分页

相信大家平时做项目时,打印需求很常见,但想把打印做好,还是要花点时间的。特别是长列表要分页的情况。 我们知道浏览原生 API window.print() 可以用于印当前窗口(window.document)视图内容。调用此方法会产生一个打印…...

使用Chatgpt编写的PHP数据库pdo操作类(增删改查)

摘要 将PDO封装成PHP类进行调用有很多好处,包括: 1、封装性和抽象性: 通过将PDO封装到一个类中,您可以将数据库操作逻辑与应用程序的其他部分分离开来,提高了代码的组织性和可维护性。这样,您只需在一个地…...

蓝桥杯2023年第十四届省赛真题-异或和之和--题解

目录 蓝桥杯2023年第十四届省赛真题-异或和之和 题目描述 输入格式 输出格式 样例输入 样例输出 【代码实现】 大家觉得写得可以的话,可以加入QQ群907575059. 蓝桥杯2023年第十四届省赛真题-异或和之和 时间限制: 3s 内存限制: 320MB 提交: 241 解决: 66 …...

Linux 常用命令学习笔记

Linux 常用命令学习笔记 文件操作 ls:列出当前目录下的文件和文件夹。 ls -l:以长格式显示文件和文件夹的详细信息。ls -a:显示所有文件,包括隐藏文件。 cd [目录]:切换到指定目录。pwd:显示当前工作目录…...

支撑电动汽车规模化,特来电智能化升级群充产品

9月26日,中国领先的充电网生态运营商特来电重磅发布智能群充4.0产品,标志着特来电群充产品体系进一步升级,充电行业迎来更高质量、更高性能的设备与系统,充电网基础设施将更好地支撑大规模电动汽车的发展。 群充技术路线引领充电…...

本次CTF·泰山杯网络安全的基础知识部分

简记23年九月参加的泰山杯网络安全的部分基础知识的题目,随时补充 1. 国密算法哪个属于公钥? SM2 a. 国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法&#x…...

通信协议:Uart的Verilog实现(下)

4、UART接收器 UART接收器负责接收串行比特流,去除起始位和停止位,并以并行格式将数据保存到与主机数据总线相连的寄存器里。接收器无法获得发送时钟,因此尽管数据以标准比特率到达,但数据未必与接收主机内的时钟同步。同步问题可…...

嵌入式MCU都有什么高级用法?

嵌入式MCU都有什么高级用法? 您举的几个例子,确实是MCU外设的一些高端玩法。只是不知道您是否想过,既然这些机制是被 人设计出来的,那它就是种标准用法。从微控制器的发展历程来看,许多硬件机制都是有了实际 需求后才…...

热启动和冷启动是什么,区别

app冷启动: 当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, 这个启动方式就叫做冷启动(后台不存在该应用进程)。冷启动因为系统会重新创建一个新的进程分配给它&#xff…...

每日一题 494目标和(0-1背包)(灵神笔记)

0-1背包模版 有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和? 当前操作?枚举第i个物品选还是不选,不选容量不变,选容量减少 子问题&#xff…...

软件测试工作步骤详情

软件测试步骤按照研发阶段一般分为5个部分:单元测试、集成测试、确认测试、系统测试、验收测试,下面将不同阶段需要的一些工作内容做一下梳理希望可以帮助到大家。 一、单元测试的内容:(白盒为主,黑盒为辅)…...

java项目之列车票务信息管理系统(ssm源码+文档)

项目简介 列车票务信息管理系统实现了以下功能: 管理员:个人中心、用户管理、车票信息管理、购票指南管理、管理员管理、论坛管理、我的收藏管理、系统管理、订单管理。前台首页:首页、车票信息、购票指南、我的收藏管理、论坛信息、我的、…...

【Pytorch笔记】3.数学运算

深度之眼官方账号 - 01-03-mp4-张量操作与线性回归 torch.add() 功能:逐元素计算inputalphaother。 torch.add(input,alpha1,other,outNone)input:tensor; alpha:other的系数,是个实数; other&#xff1…...

MeterSphere 监控方案

前言:在部署MeterSphere之后,很多时候需要看下MeterSphere服务的监控信息,虽然有监控告警脚本,但还不是太直观,所以就结合 PrometheusExporterGrafana 部署一套完整的MeterSphere监控方案。 首先我们先罗列一下需要监控…...

elementui-plus+ts+axios使用el-upload组件自定义上传

1.前言: 使用element ui有很多便捷之处,但是由于是封装的组件和自己写还是有些许的不一样,这里主要解决几个问题。 1. 如何获取子组件实例 2. 如何自定义上传方法 2.两个问题: ⛺️ 获取子组件实例 实际上vue一般通过ref获取子组…...

【STM32单片机】u8g2智能风扇设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用按键、IIC OLED模块、DS18B20温度传感器、直流电机、红外遥控等。 主要功能: 初始化后进入温度显示界面,系统初始状态为手动…...

Java中的IO流的缓冲流

不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始,不如现在行动! 文章目录 🌴IO流体系结构🌴缓冲流1.提高效率的原理2.缓冲流的类型3.字符缓冲流两个特有方法 🌴总结 🌴IO流体系…...

OpenClaw技能扩展实战:基于Qwen3-32B-Chat实现公众号自动发布

OpenClaw技能扩展实战:基于Qwen3-32B-Chat实现公众号自动发布 1. 为什么需要自动化公众号发布 作为一个技术博主,我每周都要在公众号发布2-3篇技术文章。最让我头疼的不是写作本身,而是发布前的繁琐流程:手动调整Markdown格式、…...

华三M-LAG实战:从零构建高可用数据中心网络

1. 为什么数据中心需要M-LAG技术? 刚接手数据中心网络建设项目时,我最头疼的就是如何实现高可用性。传统方案要么成本太高,要么切换速度达不到要求。直到接触华三的M-LAG技术,才发现原来跨设备链路聚合可以这么玩。 M-LAG全称Mult…...

数电技术实战解析04:CMOS门电路设计与优化

1. CMOS反相器:数字世界的开关艺术 第一次拆解CMOS反相器时,我被它的精妙设计震撼到了——就像家里电灯的双控开关,只不过这个"开关"的尺寸只有头发丝的万分之一。这个由PMOS和NMOS管组成的经典结构,构成了所有数字电路…...

OpenPose终极指南:10分钟掌握人体姿态估计核心技术

OpenPose终极指南:10分钟掌握人体姿态估计核心技术 【免费下载链接】openpose 项目地址: https://gitcode.com/gh_mirrors/op/openpose 想要快速搭建专业级的人体姿态识别系统吗?OpenPose作为业界领先的开源姿态估计库,能够实时检测图…...

如何在编程中免费使用LxgwWenKai字体:终极指南

如何在编程中免费使用LxgwWenKai字体:终极指南 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目,提供了多种版本的字体文件,适用于不同的使用场景,包括屏幕阅读、轻便版、GB规范字形和TC旧字形版。 项目地址…...

有关数组的学习

数组的概念简介数组是编程中最基础也最常用的数据结构之一,理解它能帮你高效管理一组同类型的数据。1. 什么是数组?核心概念同类型:数组里的所有元素必须是相同的数据类型(如全是 int 或全是 float)。连续内存&#xf…...

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解)

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解) 当你第一次看到这个题目时,可能会觉得它只是一个简单的递归问题。但深入思考后会发现,这实际上是动态规划的经典案例——斐波那契数列的变…...

如何解决教育资源获取难题?国家中小学智慧教育平台电子课本下载工具来帮忙

如何解决教育资源获取难题?国家中小学智慧教育平台电子课本下载工具来帮忙 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 在数字化教育日益普及的今天…...

仅需6GB显存!GPT-SoVITS部署指南:低成本实现高质量语音合成

仅需6GB显存!GPT-SoVITS部署指南:低成本实现高质量语音合成 1. 项目介绍与核心优势 GPT-SoVITS 是一个革命性的开源语音合成工具,它巧妙结合了GPT的语言生成能力和SoVITS的语音转换技术。这个项目最大的亮点在于,它能够用极少的…...

InternLM2-Chat-1.8B在复杂网络问题诊断中的辅助应用

InternLM2-Chat-1.8B在复杂网络问题诊断中的辅助应用 网络问题就像家里的电路故障,灯不亮了,你很难一眼看出是灯泡坏了,还是开关问题,或者是总闸跳了。对于运维工程师来说,服务器连不上、服务访问超时、端口冲突这些“…...