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

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.mrgr.cn/news/80919.html

相关文章:

  • Windows “高性能”模式既不高效,也不节能?
  • mfc140u.dll是什么文件?如何解决mfc140u.dll丢失的相关问题
  • 【嵌入式C语言】指针
  • 【CC2530开发基础篇】继电器模块使用
  • Krita AI启动器 满血版ComfyUI整合包,AIStarter应用市场——下载即用,最简AI创作工具!
  • postman设置cookie
  • Linux文件属性 -- 查看文件命令
  • jvm符号引用和直接引用
  • 操作系统如何管理进程所用的资源
  • 编译原理复习---正则表达式+有穷自动机
  • 机器学习探索之旅:开启智能预测的新篇章!!! 笔记 ! ! !)
  • UE5 移植Editor或Developer模块到Runtime
  • *【每日一题 基础题】 [蓝桥杯 2024 省 B] 好数
  • FFmpeg库之ffplay
  • 2024.2 ACM Explainability for Large Language Models: A Survey
  • 计算机组成原理的学习笔记(2)--数据表示与运算·其二 逻辑门和加减乘
  • 细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
  • 微信小程序的轮播图学习报告
  • UDP系统控制器_音量控制、电脑关机、文件打开、PPT演示、任务栏自动隐藏
  • JS子页面调用父页面函数,监听刷新事件
  • Spring学习之——Sping-XML
  • Linux文件:动静态库制作 动态库链接原理解析
  • 深度学习中,用损失的均值或者总和反向传播的区别
  • 以腾讯混元模型为例,在管理平台上集成一个智能助手
  • 黑马Java面试教程_P8_并发编程
  • PyQt5学习笔记