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

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.kler.cn/a/445305.html

相关文章:

  • 人工智能与区块链的碰撞:双剑合璧的创新前景
  • 道路倒角 三角网 两侧偏移
  • ARM单片机定时器
  • 使用envoyfilter添加请求头
  • flutter插件开发-ios
  • jmeter并发用户逐步递增压测找性能拐点
  • 电子应用设计方案-62:智能鞋柜系统方案设计
  • ChromeOS 131 版本更新
  • * 和 .* 的区别(MATLAB)
  • redis数据类型:list
  • SpringCloud无介绍快使用,sentinel注解@SentinelResource的基本使用(二十三)
  • HTTP 常见的请求头有哪些? 作用?常见的使用场景都有哪些?
  • python 中使用pip操作flask离线下载(包含依赖包下载)和安装
  • 排序概述及Python实现
  • 玩转OCR | 探索腾讯云智能结构化识别新境界
  • Deepin/Linux clash TUN模式不起作用,因网关导致的问题的解决方案。
  • 智能座舱进阶-应用框架层-Jetpack主要组件
  • Python 爱心代码实现动态爱心图案展示
  • Elasticsearch8.17.0在mac上的安装
  • MLM: 掩码语言模型的预训练任务
  • 3138. 同位字符串连接的最小长度
  • 红队/白帽必经之路(23)——如何通过如何使用脚本以及Metasploit来进行自动创建后门以及如何做到红方真正的销声匿迹 [既然是红队,那就对自己狠一点]
  • 面试题整理4----lvs,nginx,haproxy区别和使用场景
  • 【iOS安全】NSTaggedPointerString和__NSCFString
  • v-model(Vue3)
  • RK3588平台上YOLOv8模型转换与CentOS 7.8 Docker镜像拉取超时问题解决指南