Mysql语法之DQL查询的多行函数

Mysql的多行函数和分组

目录

  • Mysql的多行函数和分组
    • 多行函数
      • 概念
      • 常用的多行函数
    • 数据分组
      • 概念
      • 语法
      • where和having的区别
    • 语句关键字及执行顺序
      • 语句关键字
      • 执行顺序
    • 实际操作
      • 基本语句格式和多行操作
      • 筛选语句格式

多行函数


概念

不管函数处理多少条,只返回一条记录,数据需要进行分组,如果数据可以分为多个组,那么返回的数据条数和组数相同。

常用的多行函数

  • max 最大值
  • min 最小值
  • avg 平均值
  • sum 求和
  • count 求总数

数据分组


概念

按照某一个条件进行分组,每一组返回对应的结果

语法

  • group by
    可以对指定的列进行分组,列尽量有相同的
  • having
    可以对分组之后的数据进行过滤,所以能出现在having中的比较项一定是被分组的列或者是组函数

where和having的区别

  • where称之为行级过滤,处理的是表中每一行数据的过滤
  • having称之为组级过滤,处理的是分组之后的每一组数据

能使用where的,尽量不要使用having

语句关键字及执行顺序


语句关键字

  • select: 我们要显示那些列的数据

  • from: 从那张表中获取数据

  • where: 从表中获取数据的时候进行行级的数据过滤

  • group by: 对数据进行分组处理,一组获取对应的结果

  • having: 组级过滤,组级过滤的数据必须是分组条件或者是组函数

  • order by: 排序 asc desc

  • limit:数据数限制

执行顺序

from --> where -->group by -->select -->having–>order by–>limit

实际操作


基本语句格式和多行操作

语句格式:

  • select 列名 from 表名 group by 列名;

代码展示:

select * from sc;
select count(*)from sc;
select sno,max(score),min(score),avg(score),sum(score),count(*) from sc group by sno;

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

筛选语句格式

  • select 列名 from 表名 group by 列名 having 条件/(order by 列名 asc|desc /limit n)
  • select 列名 from 表名 where 条件 group by 列名/(order by 列名 asc|desc /limit n)

代码展示:

select sno,score from sc;
select sno,avg(score) from sc group by sno;
select sno,avg(score) from sc group by sno having avg(score) > 80; 
select sno,avg(score) from sc where score >80 group by sno order by avg(score) asc;
select sno,avg(score) from sc where score >80 group by sno limit 3;
select sno,avg(score) from sc group by sno having avg(score) > 70 order by avg(score) desc;

运行结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Ubuntu22.04上安装esp-idf

一、安装准备# 建议使用Ubuntu 20.04 或 Ubuntu 22.04 操作系统 为了在 Ubuntu 22.04 中使用 esp-idf,需要安装一些依赖包 sudo apt-get install git wget flex bison gperf python3\python3-pip python3-venv cmake ninja-build ccache\libffi-dev libssl-dev dfu…

游戏网站大全

http://piano.ssjjss.com/ 钢琴模拟器 https://gangqin.bmcx.com/?tdsourcetags_pcqq_aiomsg#/ 在线钢琴 https://www.gushiwen.cn/ 古诗文; https://www.bilibili.com/video/BV1UEWpeaEQK/ https://bouncyballs.org/ 掉落的球球 https://fakeupdate.net/ 假装升级界面 ht…

HYPRE: BoomerAMG选项和优化

文章目录 BoomerAMG选项和优化OverviewAMG AlgorithmOptionsTurning on BoomerAMGStrong ThresholdGoing DeeperTimingMore OptionsMax LevelsCoarsen TypeAgressive CoarseningInterpolation TypeP MaxPutting it All Together Full List of Options BoomerAMG选项和优化 Hyp…

WPF 依赖属性和附加属性

除了普通的 CLR 属性, WPF 还有一套自己的属性系统。这个系统中的属性称为依赖属性。 1. 依赖属性 为啥叫依赖属性?不叫阿猫阿狗属性? 通常我们定义一个普通 CLR 属性,其实就是获取和设置一个私有字段的值。假设声明了 100 个 …

java 根据路径下载文件转换为MultipartFile,并且上传到服务器

直接上代码 controller层 GetMapping("/downloadAndUploadAttachment")UpdateOperationLogging(msg "根据路径下载文件转换为MultipartFile,并且上传到服务器")Operation(summary "根据路径下载文件转换为MultipartFile,并且上传到服务器", de…

在linux系统的docker中安装GitLab

一、安装GitLab: 在安装了docker之后就是下载安装GitLab了,在linux系统中输入命令:docker search gitlab就可以看到很多项目,一般安装第一个,它是英文版的,如果英文不好可以安装twang2218/gitlab-ce-zh。 …

2024最新CF罗技鼠标宏

使用效果: 支持的功能 M4 7发一个点HK417 连点瞬狙炼狱加特林一个圈 下载链接 点击下载

matlab的一些时间函数【转】

看到就记下来,感觉挺好玩的。 原文:MATLAB-一些时间函数 - 简书 (jianshu.com) 注明出处了,原文是公开的,应该不算侵权。若有侵权请告知删除谢谢。

《基于 Python 的网页爬虫详细教程》

一、引言 在当今信息时代,从互联网上获取大量有价值的数据对于许多领域的研究和分析至关重要。网页爬虫是一种自动化程序,可以从网页上抓取所需的数据。Python 作为一种强大的编程语言,拥有丰富的库和工具,使得网页爬虫的开发变得…

JS CSS HTML 的代码如何快速封装

我们为什么要封装代码,是因为封装后的代码,会显得非常美观,减少代码的复用,方便我们更好的去维护代码,不用一个一个页面的去找去改,直接封装好的代码里面去改就可以了 目录 1.html代码封装 2.CSS代码封装…

曲面的共形变换

共形变换 曲面 S , S ~ S,\tilde{S} S,S~, σ : S → S ~ \sigma:S\to\tilde{S} σ:S→S~是光滑双射。如果对于 S S S上任意两条相交曲线, σ \sigma σ保持两线夹角,则称 σ \sigma σ为 S → S ~ S\to\tilde{S} S→S~的共形变换。 设曲面有参数化表…

使用docker拉取镜像很慢或者总是超时的问题

在拉取镜像的时候比如说mysql镜像,在拉取 时总是失败: 像这种就是网络的原因,因为你是连接到了外网去进行下载的,这个时候可以添加你的访问镜像源。也就是daemon.json文件,如果你没有这个文件可以输入 vim /etc/dock…

sql server 查询对象的修改时间

sql server 不能查询索引的最后修改时间,可以查询表,存储过程,函数,pk 的最后修改时间使用以下语句 select * from sys.all_objects ob order by ob.modify_date desc 但可以参考一下统计信息的最后修改时间,因为索…

使用 esrally race 测试 Elasticsearch 性能:实践指南

在 Elasticsearch 性能优化和容量规划中,使用 esrally 进行基准测试是官方推荐的方式。通过 esrally race 命令,您可以针对不同的数据集与挑战类型,对 Elasticsearch 集群进行精确的性能评估。本文将简要介绍常用的数据集与挑战类型&#xff…

MySQL复制问题和解决

目录 环境介绍 一,主库执行delete,从库没有该数据 模拟故障 修复故障 二,主库执行insert,从库已存在该数据 模拟故障 故障恢复 三,主库执行update,从库没有该数据 模拟故障 故障恢复 四&#xf…

提供详细的步骤指导,如何正确地安装和设置易支付服务?

要正确安装和设置易支付服务,您可以按照以下步骤进行操作: 下载易支付服务软件:首先,您需要从易支付官方网站或其他可信来源下载易支付服务软件的安装包。确保下载的软件版本是最新的。 安装易支付服务:双击安装包&am…

[RocketMQ] 发送重试机制与消费重试机制~

发送重试 RocketMQ 客户端发送消息时,由于网络故障等因素导致消息发送失败,这时客户端SDK会触发重试机制,尝试重新发送以达到调用成功的效果。 触发条件 客户端消息发送请求失败或超时。服务端节点处于重启或下线状态。服务端运行慢造成请…

mfc140u.dll是什么文件?如何解决mfc140u.dll丢失的相关问题

遇到“mfc140u.dll文件丢失”的错误通常影响应用程序的运行,这个问题主要出现在使用Microsoft Visual C环境开发的软件中。mfc140u.dll是一个重要的系统文件,如果它丢失或损坏,会导致相关程序无法启动。本文将简要介绍几种快速有效的方法来恢…

前端使用xlsx.js实现 Excel 文件的导入与导出功能

前端使用xlsx.js实现 Excel 文件的导入与导出功能 在现代的 Web 开发中,处理文件上传和导出功能已经变得越来越常见,尤其是 Excel 文件的导入与导出。 我们将使用 Vue.js 和 XLSX.js 库来处理 Excel 文件的读取和生成。XLSX.js 是一个强大的 JavaScrip…

02-9.python入门基础一Python模块与包(一)

一、Python 模块的概念 (一)模块的基本定义 在 Python 中,模块(Module)是一种组织代码的基本单元,简单来说,一个以 .py 结尾的 Python 文件就是一个模块。例如,我们创建一个名为 ex…