【MySQL基础 | 第二篇】数据处理之分组查询

news2024/11/23 0:14:14

前言

查询语句属于DML(Data Manipulation Language)数据操作语言的其中一种,用于从数据库中提取所需的数据。通过灵活的条件和组合,查询语句帮助用户有效地获取、过滤和排序数据,满足各种信息需求。

在这里插入图片描述


文章目录

  • 前言
  • 1️⃣分组函数
    • 1.1 组函数语法
    • 1.2 组函数类型
    • 1.3 AVG(平均值)和 SUM (合计)函数
    • 1.4 MIN(最小值)和 MAX(最大值)函数
    • 1.5 COUNT(计数)函数
  • 2️⃣分组查询
    • 2.1 分组语法
    • 2.2 GROUP BY 子句
    • 2.3 多列分组
    • 2.4 非法使用组函数
    • 2.5 过滤分组
  • 总结

在这里插入图片描述

1️⃣分组函数

分组函数作用于一组数据,并对一组数据返回一个值
在这里插入图片描述

1.1 组函数语法

SELECT [column,] group_function(column), ...
FROM table
[WHERE condition]
[GROUP BY column]
[ORDER BY column];

1.2 组函数类型

  • AVG() :平均值
  • COUNT() :计数
  • MAX() :最大值
  • MIN() :最小值
  • SUM():合计

1.3 AVG(平均值)和 SUM (合计)函数

  • 可以对数值型数据使用AVG 和 SUM 函数
SELECT AVG(Population), MAX(Population),
MIN(Population), SUM(Population)
FROM city
WHERE CountryCode = 'NLD';

在这里插入图片描述

1.4 MIN(最小值)和 MAX(最大值)函数

  • 可以对任意数据类型的数据使用 MIN 和 MAX 函数
SELECT MAX(create_time),MIN(create_time)
FROM parts;

在这里插入图片描述

1.5 COUNT(计数)函数

在这里插入图片描述

  • COUNT(*) 返回表中记录总数,适用于任意数据类型
SELECT COUNT(*)
FROM country
WHERE Continent = 'North America';

在这里插入图片描述

  • COUNT(expr) 返回expr不为空的记录总数
SELECT COUNT(IndepYear)
FROM country
WHERE Continent = 'North America';

在这里插入图片描述

2️⃣分组查询

在这里插入图片描述

2.1 分组语法

  • 使用GROUP BY子句将表中的数据分成若干组
SELECT column, group_function(column)
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[ORDER BY column];

2.2 GROUP BY 子句

  • SELECT 列表中所有未包含在组函数中的列都应该包含在GROUP BY 子句中
SELECT Continent, AVG(Population)
FROM country
GROUP BY Continent;

在这里插入图片描述

  • 包含在 GROUP BY 子句中的列不必包含在SELECT 列表中
SELECT AVG(Population)
FROM country
GROUP BY Continent;

在这里插入图片描述

2.3 多列分组

在这里插入图片描述

  • GROUP BY子句中包含多个列
SELECT Continent, Region, AVG(Population)
FROM country
GROUP BY Continent, Region;

在这里插入图片描述

2.4 非法使用组函数

  • 不能在 WHERE 子句中使用组函数
    在这里插入图片描述

2.5 过滤分组

  • 过滤分组语法
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
  • 使用 HAVING 过滤分组:
    1. 行已经被分组
    2. 使用了组函数
    3. 满足HAVING 子句中条件的分组将被显示
SELECT Continent, Region, AVG(Population)
FROM country
GROUP BY Continent, Region
HAVING AVG(Population) > 8000000;

在这里插入图片描述


总结

会了分组查询以后,我们就会对查询数据有了进一步的理解,文中只是列举了非常常见的分组函数,还有其他的分组函数,我们遇到特定场景再去查询即可,理解分组的概念,举一反三,便能融会贯通


在这里插入图片描述

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

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

相关文章

阿里企业邮箱注册申请流程(图文详解)

2023阿里云企业邮箱注册流程,企业邮箱分为免费版、标准版、集团版和尊享版,阿里云百科分享企业邮箱版本区别,企业邮箱收费标准,以及阿里企业邮箱详细注册开通流程,包括阿里云账号注册、实名认证、企业邮箱版本区别及选…

基于Fedora 38的Ultramarine Linux 38推出了System76的调度器

导读Ultramarine Linux 38已经发布,它是另一个基于Fedora Linux的发行版,具有Budgie、GNOME、KDE Plasma和 elementary OS的Pantheon桌面环境的四个版本。 基于Fedora Linux 38,但默认使用Linux内核6.3,Ultramarine Linux 38&…

人工智能的几个概念

一、什么是人工智能 人工智能不是最近几年才兴起的,它已经有几十年发展的历史,下面是业内公认的一种关于人工智能概念的定义:人工智能(Artificial Intelligence):缩写为AI,是研究开发用于模拟、…

报名开启!2023大模型应用创新挑战赛来啦

满脑创意无处落地? 满身技术无人看到? 飞桨邀你开启大模型应用创意挑战之旅 寻找那个最具创意的你 资深开发者指导,助你落地“黄金”项目 大模型从业者合作交流 找到创业道路上的partner 高额奖金、技能提升、优质项目 官方扶持落地&#xff…

MCScanX安装与使用

为什么要写这篇文章: 最近因为朋友需要用到MCScanX画两个物种的共线性点图,但是发现搜到的blog中所提供的安装方法都不太相同,且在都会出现或多或少的问题,所以来找我帮忙,我搜到的所有blog安装链接http://chibba.pgml…

Flink的TopN

1.为什么定时器的时间设置为,窗口的end值1ms就可以呢? 因为定时器是下游,水位线是取的多个上游的最小的, 水位线是跟在数据后面的,所以当定时器的时间到达时,上游一定计算完成了,并且数据已经在…

LLM - 搭建 DrugGPT 结合药物化学分子知识的 ChatGPT 系统

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131384199 论文:DrugChat: Towards Enabling ChatGPT-Like Capabilities on Drug Molecule Graphs DrugChat,基…

便携式明渠流量计比对装置的基本要求

便携式明渠流量计比对装置的基本要求有哪些? 符合国标要求中对流量监测单元的比对(每2分钟采集一次数据,连续记录 6次数据与在线流量计数据进行液位误差比对,测量10分钟内的流量数据与在线流量计数据进行流量误差比对)…

springboot服务时间筛选问题,同一服务部署在本地和Linux服务器,同样的时间筛选数据不一致

项目场景: springboot项目通过时间筛选数据、 问题描述 时间筛选问题,同一服务部署在本地和Linux服务器,同样的时间筛选数据不一致 接收的参数 JsonFormat(pattern "yyyy-MM-dd") private Date queryDate;服务器打印日志出来的…

Linux常用命令——fsck命令

在线Linux命令查询工具 fsck 检查并且试图修复文件系统中的错误 补充说明 fsck命令被用于检查并且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复。 语法 fsck(选项)(参数)选项 -a:自动修复文件系统,不询…

JavaScript数组遍历的各种方式

目录 第一种方式(for循环) 第二种方式(forEach 遍历) 第三种方式(for...in) 第四种方式(for...of) 第五种方式(map方法遍历) 六、性能对比 第一种方式&…

【yolov5系列】将yolov5s模型部署到SigmaStar的9383芯片上

今年年初,接触了星宸科技(sigmastar)的芯片9383,将深度学习模型进行部署,使用sigmastar的深度学习加速硬件IPU进行模型推理。这里简单记录下sigmastar相关内容。 补充说明,之前使用的是瑞芯微的芯片&#x…

大数据从0到1的完美落地之Flume案例_3

案例演示 案例演示:SyslogtcpMemLogger Syslogtcp: syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中…

经济统计类的实证论文解剖

整理来源 UP主:Michaelscholar https://space.bilibili.com/550661456/video 截图 1.读什么文献 国内:中文CSSCI 期刊:中国社会科学,经济研究,经济学(季刊),管理世界&#xff0…

MySQL数据库——主从复制

目录 前言一、读写分离概述1. 什么是读写分离?2. 为什么要读写分离呢?3. 什么时候要读写分离?4. 主从复制与读写分离5. mysq支持的复制类型6. 主从复制的工作过程7. MySQL主从复制延迟 二、主从复制配置方法 前言 在实际的生产环境中&#x…

c++ GoogleTest编译使用

编译 1.下载zip源码 2.解压,使用cmake生成工程 第一处填解压生成的文件夹 第二处的build路径可以不存在,点击configure会cmake提示创建 弹出界面中要选择自己的vs版本,选择finish。 然后点击generate,然后点击open Project。 生…

使用kubesphere搭建k8s集群

目录 1准备3台虚拟机 2 每台虚拟机更新yum的软件包,时间设置等 3 关闭防火墙 4 添加三台服务器的域名设置 5 设置三台服务器之间免密 6 安装kubesphere必要依赖,每个节点都要装,不然报错:socat not found in system path 7…

校园广播对讲音柱话筒

校园广播对讲话筒 校园广播对讲话筒:增强校园沟通的利器 提起校园广播对讲话筒,你或许会想到它在紧急情况下的应用。然而,这个功能强大的设备在校园内的广泛运用,不仅仅局限于危机解决。它成为了促进校园内部沟通、加强团队协作…

Tensorflow:from tensorflow.keras import layers 报错

执行代码: from tensorflow.keras import layers 报错: keras模块不存在 查,有其他博客表示keras包在tensorflow模块的pyhon包中; 于是: from tensorflow.python.keras import layers 在类似的如此调用keras的其…

chatgpt赋能python:Python能自动化办公吗?

Python能自动化办公吗? 在当今信息时代,办公工作中我们不可避免地要使用电脑,进行各种办公处理,比如文字处理、数据处理、图表制作等。这些操作看起来简单,但从事这些工作的人员都知道,日积月累之后&#…