MYSQL-聚合函数及分组查询

news2024/11/16 7:23:58

常用聚合函数

COUNT() 求有多少行

SUM()  求和

AVG()  求平均值

MIN() 求最小值

MAX() 求最大值

举个栗子

SELECT AVG(price) FROM products WHERE price_id > 10;

这行代码就是在求id大于10的价格的平均值

AVG(price)表示求price列的平均值

执行逻辑为 先由WHERE语句删选出price_id>10的行 然后再把这些行的price求平均值输出

加别名的例子
 

SELECT AVG(price) AS avg_price FROM products WHERE price_id > 10;

分组查询

GROUP BY

创建分组

直接看例子

SELECT vend_id,COUNT(*) AS num_prods FROM products GROUP BY vend_id;

执行逻辑是: 先把所有数据按照vend_id进行分组,然后再进行分组运算 

如果分组中出现NULL的话 NULL作为单独的一个组出现

GROUP BY 语句必须出现在WHERE之后 ORDER BY之前 

GROUP BY的参数不能是表达式 不能是别名

HAVING

过滤分组

所有WHERE的选项都适用于HAVING,HAVING和WHERE的区别就是一个是过滤组,一个是过滤行

或者可以这么理解 他们都是过滤作用 但是WHERE是在分组之前过滤 HAVING是在分组之后过滤

 

 这里的HAVING的作用就是 只有COUNT(*) >= 2 的组才会留下

SELECT子句的顺序

SELECT

FROM

WHERE

GROUP BY

HAVING

ORDER BY

LIMIT

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

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

相关文章

Mock在接口测试中的实际应用

关于Mock测试 01、含义和目的 1、 什么是mock测试? Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取的比较复杂的对象(如 JDBC 中的ResultSe…

chatgpt赋能python:下载完Python,如何进入编辑器

下载完Python,如何进入编辑器 Python是一门高级编程语言,具有简单易懂、易于学习、可拓展性强等特点,被广泛应用于Web应用、桌面应用、科学计算、人工智能等众多领域。如果你已经下载并安装了Python,那么接下来如何进入编辑器呢&…

uniapp智慧停车场系统微信小程序h5、APP源码 智能停车系统源码 安装搭建部署教程

【APP】: flutter(原生混合框架,不是web封装,原生应用,一套代码直接生成原生Android和ios应用),既不损失性能,也能降低开发成本 【小程序/h5/公众号】:uni-app(底层框架Vue) 【后台管理】:vue-e…

DeepSpeed-Chat 打造类ChatGPT全流程 笔记一

这篇文章主要是对DeepSpeed Chat的功能做了一些了解,然后翻译了几个主要的教程了解了一些使用细节。最后在手动复现opt-13b做actor模型,opt-350m做reward模型进行的chatbot全流程训练时,踩了一些坑也分享出来了。最后使用训练后的模型做servi…

计算机组成原理(课堂测验3次)

3、同步通信与异步通信的主要区别是什么,说明通信双方如何联络。 同步通信和异步通信的主要区别是:前者有公共时钟线,所有设备按统一的时序、同一的传输周期进行信息传输,通信双方按约定好的时序联络;后者没有公共时钟…

探秘直链网盘:高效传输、便捷分享的存储利器!

什么是直链网盘? 直链网盘是一种用于存储和共享文件的在线服务。它为用户提供了一个方便的方式来存储和访问他们的文件,而无需依赖本地存储设备。直链网盘的主要特点是它们可以生成直接下载链接,允许用户快速下载文件,而不需要进…

使用 Sigstore 签名的 Elastic Stack 容器镜像!

作者:Maxime Greau 软件供应链攻击不断增加。 这就是为什么这个主题是安全领导者的首要任务。 在这方面,这篇博文重点介绍了使用 Sigstore 对 Elastic Stack 容器镜像进行签名的新功能,以便: 保护 Elastic 软件供应链工作流程为…

java面试Day14

1.如何使用 Redis 实现一个排行榜? Redis实现排行榜是Redis中一个很常见的场景,主要使用的是ZSet进行实现,下面是为什么选用ZSet: 有序性:排行榜肯定需要实现一个排序的功能,在Redis中有序的数据结构有List…

Tauri:跨平台探索之旅

一、简介 Tauri 是一个跨平台 GUI 框架,与 Electron 的思想基本类似。都是属于跨平台技术的解决方案 优缺点快速分析 我们一般会把tauri作为 Electron 的替代方案,electron优点咱们不看,这里就提两个electron比较明显的问题: 安装…

高考志愿填报的个人看法,希望能对你有所启发

各省高考成绩已出,又到一年高考季。张雪峰提到:“普通家庭不要光谈理想,也要谈落地。”志愿怎样填报、选专业还是选学校、什么专业好就业、高考志愿主要看什么? 作为一名过来人,今天就站在小部分群体的角度来聊聊&…

自动化测试常见的三大问题及解决方案

各位小伙伴们,大家好,今天给大家带来的是关于自动化测试常见的三大问题及解决方案,希望给遇到这三大问题的你一些帮助 一,就是我们定位元素的时候,定位不到或有时定位得到,有时定位不到。 特别是喜欢复制…

策略模式(Strategy)

定义 策略是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。 前言 1. 问题 你打算为游客们创建一款导游程序。该程序的核心功能是提供美观的地图,以帮助用户在任何城市…

数据结构 手撕顺序表(动态版)+代码详解

⭐️ 顺序表介绍 顺序表是线性表的一种。 🌠什么是线性表呢? 线性表是数据结构的一种,一个线性表是 n n n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、字符串… 🌠什么是顺序表呢&…

Docker + Wasm = 王炸!!!

Docker 宣布推出与 WebAssembly 集成 (DockerWasm) 的首个技术预览版,并表示公司已加入字节码联盟 (Bytecode Alliance),成为投票成员。 Bytecode Alliance(字节码联盟)由 Mozilla、Fastly、Intel 与 Red Hat 联合成立&#xff0c…

Redis的优化(二)

Redis的高可用 一、主从复制优化主从复制的作用主从复制流程主从复制实验 二、Redis 哨兵模式哨兵模式的作用故障转移机制主节点的选举原则哨兵模式的实验 三、Redis群集模式集群的作用Redis集群的数据分片搭建Redis群集模式实验 ●主从复制:主从复制是高可用Redis的…

路由协议基本术语

文章目录 1、自治系统AS2、EGP和IGP3、度量标准和度量值4、管理距离5、路由协议与路由算法6、路由环路问题 1、自治系统AS Internet中,自治系统就是处于同一个管理机构(如一个ISP)控制下的路由器和网络群组 在同一个自治系统中的所有路由器…

Python3 标准库概览 | 菜鸟教程(十八)

目录 一、Python3 标准库中的模块 (一)os 模块 (二)sys 模块 (三)time 模块 (四)datetime 模块 (五)random 模块 (六)math 模块…

RabbitMQ笔记(持续更新中~)

1.消息队列 1.1 MQ的相关概念 1.1.1 什么是MQ MQ(message queue),从字面上看,本质是个队列,FIFO先进先出,只不过队列中存放的内容是消息而已,还是一种跨进程的通信机制,用于上下游…

Pandas之Series(一)

Hi😊😊~大家好呀~最近两天釉色酱在学习python中的数据分析的一个基本库——pandas。今天就先学习pandas中最基本的数据结构Series。下面我们一起进入Series的世界吧!😝 Pandas简介: Pandas是一种基于Python语言的快速…

sklearn.model_selection模块介绍

数据集划分方法 train_test_split train_test_split(*arrays, test_sizeNone, train_sizeNone, random_stateNone, shuffleTrue, stratifyNone)参数包括: test_size:可选参数,表示测试集的大小。可以是一个表示比例的浮点数(例…