我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL的聚合函数及分组查询

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL的聚合函数及分组查询

SQL的聚合函数及分组查询

SQL的聚合函数及分组查询

要在这个世界上获得成功,就必须坚持到底:至死都不能放手。

count

select count(*) from students #底层优化了

select count(1) from students #效果和*一样

select count(age) from emp #慢,只统计非NULL的

max / min

select max(score) max from scores #求该字段的最大值

select min(score) min from scores #获取该字段的最小值

select class,max(score) from scores group by class #配合分组使用

sum / avg

select sum(score) from scores #求和

select avg(score) from scores #求平均数

分组 group by

  • 用于对查询的结果进行分组统计
    • group by表示分组,
    • having 子句类似where过滤返回的结果
select class,max(score) from scores group by class #聚合函数配合分组使用

这里的意思是从scores表中,查询班级class和最高成绩,按班级分组。

报错句分析:

Invalid use of group function

#select class,max(score) FROM scores where max(score) > 80 GROUP BY class;

先过滤再分组是高效的,但where中不能使用聚合函数,所以这里我们应该使用having子句。

select class,max(score) FROM scores GROUP BY class having max(score) > 80;

注意:这里是先查询分组完后,再执行having子句的过滤条件。

总结:

  • where 子句的作用是对查询结果进行分组前,将不符合where条件的数据去掉,即在分组之前过滤数据,where条件中不能使用聚合函数过滤出特定的数据。

  • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚合函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组,但要注意,having中使用的过滤条件必须是查到的结果。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL的聚合函数及分组查询

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQL的聚合函数及分组查询

SQL的聚合函数及分组查询要在这个世界上获得成功,就必须坚持到底:至死都不能放手。countselect count(*) from students #底层优化了select count(1) from students #效果和*一样select coun
SQL的聚合函数及分组查询
2017-02-04

MySQL 分组查询和聚合函数

概述相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位);或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估)。 这个时候就要用到分组查询,分组查询的目的
2022-05-24

Mariadb聚合函数及分组查询怎么使用

这篇文章主要介绍“Mariadb聚合函数及分组查询怎么使用”,在日常操作中,相信很多人在Mariadb聚合函数及分组查询怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mariadb聚合函数及分组查询怎
2023-06-27

SQL怎么构造动态分组和聚合查询

动态分组和聚合查询是通过使用CASE语句来实现的。CASE语句可以根据条件返回不同的结果,从而实现动态的分组和聚合查询。下面是一个示例,假设我们有一个表格employee,包含了员工的信息和工资:CREATE TABLE employe
SQL怎么构造动态分组和聚合查询
2024-04-29

MYSQL聚合查询、分组查询、联合查询举例详解

目录聚合查询聚合函数count()sum()avg()max()和min()总结分组查询group by 子句having 子句联合查询笛卡尔积内连接外连接自连接子查询单行子查询多行子查询from子句使用子查询合并查询总结 聚合查询聚合查
MYSQL聚合查询、分组查询、联合查询举例详解
2024-09-23

Sequelize中用group by进行分组聚合查询

一、SQL与Sequelize中的分组查询1.1 SQL中的分组查询SQL查询中,通GROUP BY语名实现分组查询。GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的字段中,如果没有使用聚合函数就必须出现在OR
2022-06-04

利用Oracle Value函数简化聚合查询

Oracle Value函数是一个非常有用的工具,它允许您在聚合查询中执行复杂的计算。通过使用Value函数,您可以将多个行中的数据组合成一个单一的值,从而使查询更加高效和简化。以下是如何使用Oracle Value函数简化聚合查询的示例
利用Oracle Value函数简化聚合查询
2024-10-09

sql中常见的聚合函数

sql 常见的聚合函数包括:count() 计算行数sum() 求和avg() 求平均值min() 求最小值max() 求最大值SQL 中常用的聚合函数SQL(结构化查询语言)中的聚合函数用于对一组值进行操作,将它们聚合成一个或多个值。最
sql中常见的聚合函数
2024-05-07

PHP 数组分组函数在数据聚合中的应用

php array_group_by() 函数可根据指定键对数组元素进行分组,形成以键为索引、以数组为值的数组。实例如,根据产品字段分组销售记录后,分组后的数组中键为产品值,值为属于此产品的销售记录数组。PHP 数组分组函数在数据聚合中的应
PHP 数组分组函数在数据聚合中的应用
2024-05-01

聚合函数在跨数据库查询中的应用

在跨数据库查询中,聚合函数可以帮助我们对不同数据库中的数据进行统计和汇总。例如,我们可以通过聚合函数计算不同数据库中某个字段的平均值、总和、最大值、最小值等。这样就可以方便地获取跨数据库的数据统计信息,而不需要将数据先导入到同一个数据库中再
聚合函数在跨数据库查询中的应用
2024-08-03

Elasticsearch聚合查询及排序的方法

这篇“Elasticsearch聚合查询及排序的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Elasticsearch
2023-06-30

MySQL聚合查询与联合查询操作的示例分析

这篇文章主要为大家展示了“MySQL聚合查询与联合查询操作的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL聚合查询与联合查询操作的示例分析”这篇文章吧。一. 聚合查询1.聚合函
2023-06-29

SQL级别数据聚合与分组优化

数据聚合与分组是 SQL 查询中常见的操作,可以对数据进行聚合计算和按照指定的字段进行分组。在处理大量数据时,进行数据聚合与分组操作可能会导致性能问题,因此需要进行优化。以下是一些优化数据聚合与分组操作的方法:使用索引:确保在进行数据聚合
SQL级别数据聚合与分组优化
2024-08-04

MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy

一、序言 众所周知,MybatisPlus在处理单表DAO操作时非常的方便。在处理多表连接连接查询也有优雅的解决方案。今天分享MybatisPlus基于Lambda表达式优雅实现聚合分组查询。 由于视频的交互性更强,保留更多的细节,看视频的
2023-08-20

编程热搜

目录