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

news2024/10/7 4:35:50

功能介绍

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排序查询 (查询操作 四)

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

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

相关文章

【Visual Studio】解决编写C#代码时编辑器自动添加using问题

当我们编写引用其他作用域代码时,Visual Studio可能会非常“智能”地帮我们在代码顶部自动添加对应的using指令。 显然这项举动有利有弊,有利在于可以提高代码编写效率,有弊在于如果不慎编写错误的代码那么错误的using指令会自动添加。 尤其在…

核电厂设备故障预测与健康管理-基于PreMaint电气信号分析技术

核电厂作为重要的能源供应基地,设备的可靠性和安全性至关重要。传统的设备维护方式存在一定的盲目性和浪费,为了提高设备维护效率、减少成本,并确保核电厂的安全和稳定运行,引入了PreMaint设备健康管理平台的电气信号分析技术。本…

​比特币ETF将迎来审核窗口期

作者:Greg Cipolaro,NYDIG 全球研究主管 编译:WEEX Exchange 几只重要的 ETF 申请将于 10 月中旬迎来审核窗口,本文通过观察近期期权市场的动态,以研究交易者对这些关键 ETF 日期的仓位态度;门头沟&#xf…

当网络设置为自动获取dns时而实际nds是8.8.8.8,1.1.1.1的解决方法

笔记本换网络环境后,网络设置的是自动获取IP和自动获取dns。但使用命令:config/all命令时发现dns总是8.8.8.8,1.1.1.1。导致csdn上不了。 8.8.8.8,1.1.1.1:是谷歌的dns。 解决办法: 在支行中输入regedit打开注册表后&#xff0…

火狐连接错误代码SEC_ERROR_UNKNOWN_ISSUER

最近开发的实验启动功能,测试人员用火狐浏览进行测试,一直报错 错误代码SEC_ERROR_UNKNOWN_ISSUER 在网上搜索很多文章,都没有解决我的问题,最后自己花时间研究了下,灵感来源于项目中,就类似于白名单的功能…

DragGesture/拖动手势 的使用

1. DragGesture 拖动手势操作 1.1 实现 /// 拖动手势 struct DragGestureBootcamp: View {State var offset: CGSize .zerovar body: some View {//dragGesture1dragGesture2}/// 方式二var dragGesture2: some View{ZStack {VStack {Text("\(offset.width)")Space…

深入理解React中fiber

一、前言 Fiber是对React核心算法的重写,Fiber是React内部定义的一种数据结构,将更新渲染耗时长的大任务,分为许多的小片。Fiber节点保存啦组件需要更新的状态和副作用,一个Fiber代表一个工作单元。 二、Fiber在React做了什么 …

使用 frp 进行内网穿透

使用 frp 进行内网穿透 1.frp 概念2.服务端搭建3.客户端搭建1.frp 概念 frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。 内网服务由于没有公网 IP,不能被非局域网内的其他用户访问…

https域名下 请求http图片链接 被自动变成https请求

现象 在以 https 协议页面&#xff0c;以 <img src"http://baidu.com/img/image.png"> 方式请求资源时&#xff0c;http 协议的资源地址被转为 https 的。 溯源检查过程 这个问题真的是第一次遇到&#xff0c;本地开发时没发现问题&#xff0c;等到上到测试环…

我为什么选择这样一份经常出差的工作

这几个月进入出差模式&#xff0c;在酒店与工厂两点一线之间往返。周五&#xff0c;在返回酒店途中&#xff0c;一名同事问我&#xff1a;“你工作了那么多年&#xff0c;为什么选择这样一份出差的工作&#xff1f;”&#xff0c;言外之意就是出差不方便&#xff0c;与家人、朋…

MR混合现实在军事课堂教学中的应用演示

战场模拟&#xff1a;利用MR技术可以创建逼真的战场模拟环境&#xff0c;将学生置身于真实的战场场景中&#xff0c;可以体验和学习各种作战技巧和战术策略。学生可以通过佩戴MR头盔或眼镜&#xff0c;观察虚拟的场景&#xff0c;并与虚拟对象进行互动&#xff0c;如操作武器、…

俄罗斯四大平台速卖通、Joom、Ozon 和 UMKA中国卖家如何脱颖而出!

随着全球化的不断推进&#xff0c;越来越多的中国卖家将目光投向了俄罗斯这个广阔的市场。在众多的跨境电商平台中&#xff0c;速卖通、Joom、Ozon 和 UMKA 无疑是最受关注的四个平台。本文将从卖家的角度&#xff0c;详细分析这四大平台的特点和优势&#xff0c;帮助找到最…

Apple Pencil值得买吗?便宜好用的触控笔推荐

很多人都在用ipad记笔记和绘画。还有就是&#xff0c;目前的ipad&#xff0c;都是以实用为主&#xff0c;他们觉得&#xff0c;要想让ipad的利用发挥到最大化&#xff0c;就需要一款好用的电容笔。其实&#xff0c;如果只是单纯的想要记笔记&#xff0c;也有很多的平替电容笔&a…

Vue监控路由/路由参数, 优雅刷新当前页面数据的方法

目录 Vue监控路由 Vue中watch监控路由 Vue中watch监控路由的某一个参数 Vue中watch同时监控多个路由 刷新当前页面数据 location.reload $router.go(0) this.$router.resolve()与this.$router.resolve() 1. this.$router.resolve()方法 2. this.$router.push()方法 …

如何在通信行业运用IPD?

通信是人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递&#xff0c;从广义上指需要信息的双方或多方在不违背各自意愿的情况下无论采用何种方法&#xff0c;使用何种媒质&#xff0c;将信息从某方准确安全传送到另方。通信行业&#xff0c;简而言之&#xff0c;就…

Docker 精简安装 Nacos 2.2.1 单机版本

准备工作&#xff1a; 1&#xff09;已安装docker 2&#xff09;数据库准备&#xff0c;演示使用MySql5.7版本 1、拉取 [rootTseng-HW ~]# docker pull nacos/nacos-server:v2.2.1 v2.2.1: Pulling from nacos/nacos-server 2d473b07cdd5: Already exists 77c5a601c050: Pul…

网安新战场:CTF的那些事儿

CTF CTF的前世今生CTF竞赛中的挑战和难题CTF竞赛必备知识CTF竞赛中的技巧与策略&#xff1a; 写在末尾 主页传送门&#xff1a;&#x1f4c0; 传送 CTF的前世今生 CTF&#xff08;Capture The Flag&#xff09;是一种网络安全竞赛&#xff0c;旨在测试参与者解决各种网络安全问…

震坤行商品详情数据接口

震坤行商品详情数据接口可以通过HTTP请求和响应获取商品详情信息。请求方法为GET&#xff0c;请求参数包括商品ID和API密钥&#xff0c;响应数据为JSON格式。 API控制台获取API密钥&#xff1a;注册并登录震坤行API控制台&#xff0c;创建项目并获取API密钥。 JavaScript调用…

(三)推断的逼近方法-通过加权重采样的贝叶斯定理

加权重采样 import numpy as np import matplotlib.pyplot as plt# Step 1: Generate 10,000 random theta values from U([0, 1]) n 10000 theta_values np.random.rand(n)# Define the function to compute weights for a given theta def compute_weight(theta):return (…

仕达利恩飞讯软件TPM设备管理项目正式启动,向数字化再迈一步

9月25日&#xff0c;仕达利恩(惠州)科技有限公司&#xff08;以下简称“仕达利恩”&#xff09;设备智能数采项目启动会成功召开&#xff0c;仕达利恩首席崔浩渊、杨翠琼次长携项目主要负责人共同出席本次启动会。为解决仕达利恩现阶段生产过程中的设备管理、设备配件仓管理以及…