软件测试|MySQL中的GROUP BY分组查询,你会了吗?

MySQL中的GROUP BY分组查询:详解与示例

在MySQL数据库中,GROUP BY语句用于将数据按照指定的列进行分组,并对每个分组执行聚合函数操作。这就是的我们可以在查询中汇总数据并生成有意义的结果。本文将深入介绍MySQL中的GROUP BY语句,并提供示例来说明其用法。

基本语法

在 MySQL 中,GROUP BY 关键字可以根据一个或多个字段对查询结果进行分组。

使用 GROUP BY 关键字的语法格式如下:

SELECT 列1, 列2, 聚合函数(列3)
FROM 表名
GROUP BY 列1, 列2;

在上述语法中,我们需要指定要选择的列(除了聚合函数所用的列)。然后使用GROUP BY将结果按照指定的列进行分组。最后,您可以使用聚合函数(如SUM、COUNT、AVG等)对每个分组进行操作。

使用示例

  1. 订单总额按客户分组

假设我们有一个订单表orders,包含customer_idorder_dateorder_amount等列。我们想要按照客户分组,计算每个客户的订单总额,语句如下:

SELECT customer_id, SUM(order_amount) AS total_amount
FROM orders
GROUP BY customer_id;

在上述查询中,我们选择了customer_id列,并使用SUM()函数计算每个客户的订单总额。然后使用GROUP BY将结果按照customer_id分组。

  1. 按月份统计销售数量

假设我们有一个销售表sales,包含sale_datequantity列。我们想要按照每个月份统计销售的总数量,语句如下:

SELECT DATE_FORMAT(sale_date, '%Y-%m') AS month, SUM(quantity) AS total_quantity
FROM sales
GROUP BY month;

在上述查询中,我们使用DATE_FORMAT()函数将sale_date格式化为%Y-%m的形式,以表示年份和月份。然后使用SUM()函数计算每个月份的销售总数量,并通过GROUP BY按照month进行分组。

  1. 多列分组

我们还可以同时按照多列进行分组。假设我们有一个员工表employees,包含departmentgender列。我们想要按照部门和性别统计员工数量,语句如下:

SELECT department, gender, COUNT(*) AS employee_count
FROM employees
GROUP BY department, gender;

在上述查询中,我们选择了departmentgender列,并使用COUNT()函数计算每个部门和性别组合的员工数量。然后使用GROUP BY将结果按照这两列进行分组。

  1. 筛选特定分组

有时候,我们可能只想要对满足特定条件的分组执行聚合操作。假设我们有一个学生表students,包含major和gpa列。我们想要统计每个专业中平均GPA大于3.5的学生数量,语句如下:

SELECT major, AVG(gpa) AS avg_gpa, COUNT(*) AS student_count
FROM students
GROUP BY major
HAVING avg_gpa > 3.5;

在上述查询中,我们使用AVG()函数计算每个专业的平均GPA,并使用COUNT()函数计算每个专业的学生数量。然后使用GROUP BY将结果按照major分组。最后,我们使用HAVING子句筛选出平均GPA大于3.5的专业。

总结

MySQL中的GROUP BY语句允许我们对数据进行分组,并在每个分组上执行聚合操作。通过合理使用GROUP BY,我们可以从大量数据中提取有意义的信息,以满足各种分析和报告需求。在实际使用中,我们需要注意合理选择聚合函数和分组列,以获得所需的统计结果。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

2023年度总结:但行前路,不负韶华

​ 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS &#x…

k8s部署mongodb-sharded7.X集群(多副本集)

#mongodb-sharded 7.X版本CHART NAME: mongodb-sharded CHART VERSION: 7.0.5 APP VERSION: 7.0.2helm repo add bitnami https://charts.bitnami.com/bitnami helm pull bitnami/bitnami/mongodb-sharded --untar默认副本数较多。我修改为33 搜索关键字replicaCount 修改 最后…

盖子的c++小课堂——第二十四讲:差分数组

前言 嗨嗨嗨,这里是盖子的小课堂哟,这次更新主要是因为快放假了,时间多了,好嘞,废话不多说,点赞评论拿来吧你~ 差分数组 一维差分数组 假设给你一个数组 nums ,先对区间 [a,b] 中每个元素加…

WPF真入门教程26--项目案例--欧姆龙PLC通讯工具

1、案例介绍 前面已经完成了25篇的文章介绍,概括起来就是从0开始,一步步熟悉了wpf的概念,UI布局控件,资源样式文件的使用,MVVM模式介绍,命令Command等内容,这节来完成一个实际的项目开发&#…

从0开始学Git指令(2)

从0开始学Git指令 因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助! 工作区(Working Directory) 就是你在电脑里能看到的目录&#x…

性能分析与调优: Linux 使用 iperf3 进行TCP网络吞吐量测试

目录 一、实验 1.环境 2.TCP网络吞吐量的微观基准测试 二、问题 1.iperf参数有哪些 2.iperf如何二进制安装 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测…

dotdotdot插件快速实现多行文本的省略

jQuery.dotdotdot 前言 在“css新增文本样式(完整)”这篇,我们介绍了text-overflow属性省略多余的文本。用text-overflow属性可以直接省略单行文本,但省略多行文本,单独使用CSS是无法实现,今天我们介绍一…

RabbitMQ高级

文章目录 一.消息可靠性1.生产者消息确认2.消息持久化3.消费者确认4.消费者失败重试 MQ的一些常见问题 1.消息可靠性问题:如何确保发送的消息至少被消费一次 2.延迟消息问题:如何实现消息的延迟投递 3.高可用问题:如何避免单点的MQ故障而导致的不可用问题 4.消息堆积问题:如…

了解不同方式导入导出的速度之快

目录 一、用工具导出导入 Navicat(速度慢) 1.1、导入: 共耗时: 1.2、导出表 共耗时: 二、用命令语句导出导入 2.1、mysqldump速度快 导出表数据和表结构 共耗时: 只导出表结构 导入 共耗时&…

【前沿技术杂谈:ChatGPT】ChatGPT——热潮背后的反思

【前沿技术杂谈:ChatGPT】ChatGPT——热潮背后的反思 缘起:无中生有,涅槃重生人工智能技术人工智能的发展史无中生有内容自动生成技术的发展代表企业OpenAI-GPT系列技术的发展历程ChatGPT新特点 热潮:万众瞩目,群雄逐鹿…

Super关键字

与this关键字用法相同,但super关键字指的是父类的对象 我们常用super.来调用父类对象的属性或者方法 super关键字出来调用父亲的属性还可以调用父亲的方法,方式也是super. super() super()表示调用父类的无参构造 super(参数列表)表示调用父类的有参…

Java中的网络编程

文章目录 网络基础知识IP 地址端口协议 Java 中网络编程InetAddress(静态类)UDP 通信原理UDP 发送数据步骤UDP 接收数据步骤UDP 发送接收案例 TCP 通信原理TCP 发送数据步骤TCP 接收数据步骤TCP 发送接收案例 网络基础知识 概述:在网络通信协…

认识Linux指令之与时间相关的指令

01.date命令 date 指定格式显示时间: date %Y:%m:%d date 用法:date [OPTION]... [FORMAT] 1.在显示方面 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下 %H : …

【揭秘APT攻击】——内网渗透实战攻略,带你领略网络安全的绝密世界!

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 介绍 什么是内网? 什么是内网渗透? 内网渗透的目的: 内网…

天鹅目标检测数据集VOC格式280张

天鹅,一种优雅而美丽的鸟类,以其洁白的羽毛、优美的身姿和动人的歌声而闻名。 天鹅属于鸟纲、鸭科,是一种大型水禽。它们的羽毛通常是白色、黑色或灰色,非常光滑且富有光泽。天鹅的头部和颈部非常细长,呈现出优雅的曲…

烟雾识别摄像机

烟雾识别摄像机是一种具有智能识别功能的监控设备,它能够通过图像识别技术检测和识别烟雾,提供实时监测和报警功能。这种摄像机通常应用于各种场所,如工厂、仓库、办公楼、酒店等,起到了重要的安全监测作用。 烟雾识别摄像机的工作…

新手练习项目 4:简易2048游戏的实现(C++)

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、效果图二、代码(带注释)三、说明 一、效果图 二、代码(带…

光伏方案设计有什么注意点?

光伏方案设计是实现光伏发电系统高效运行的关键环节。在进行光伏方案设计时,有几个重要的注意点需要特别关注。 首先,要充分考虑地理位置和气候条件。不同地区的日照时数、太阳辐射强度和日照角度都有所不同,这些因素直接影响光伏发电系统的发…

FS【1】:SSP

文章目录 前言1. Abstract2. Introduction2.1. Motivation2.1.1. Few-shot Segmentation (FSS) Task2.1.2. Few-shot Segmentation (FSS) Problem 2.2. Contribution 3. Methods3.1. Motivation3.2. Overview of the architecture4.3. Self-support Prototype4.4. Adaptive Sel…

C++:多态究竟是什么?为何能成为面向对象的重要手段之一?

C:多态究竟是什么?为何能成为面向对象的重要手段之一? 前言一、多态的概念二、多态的定义及实现2.1 多态的构成条件2. 2 虚函数2.3 虚函数的重写2.3.1 虚函数重写的例外1:协变(基类与派生类虚函数返回值类型不同)2.3.2 虚函数重写…