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

mysql中groupby语句的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

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

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

看不清楚,换张图片

免费获取短信验证码

mysql中groupby语句的使用

本篇内容介绍了“mysql中groupby语句的使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、概述

“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。

2、原始表

3、简单Group By

示例1

select 类别, sum(数量) as 数量之和from Agroup by 类别

返回结果如下表,实际上就是分类汇总。

4、Group By 和 Order By

示例2

select 类别, sum(数量) AS 数量之和from Agroup by 类别order by sum(数量) desc

返回结果如下表 在Access中不可以使用“order by 数量之和 desc”,但在SQL Server中则可以。

5、Group By中Select指定的字段限制

select 类别, sum(数量) as 数量之和, 摘要from Agroup by 类别order by 类别 desc

示例3执行后会提示下错误,如下图。这就是需要注意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

6、Group By All

示例4

select 类别, 摘要, sum(数量) as 数量之和from Agroup by all 类别, 摘要

示例4中则可以指定“摘要”字段,其原因在于“多列分组”中包含了“摘要字段”,其执行结果如下表 “多列分组”实际上就是就是按照多列(类别+摘要)合并后的值进行分组,示例4中可以看到“a, a2001, 13”为“a, a2001, 11”和“a, a2001, 2”两条记录的合并。

SQL Server中虽然支持“group by all”,但Microsoft SQL Server 的未来版本中将删除 GROUP BY ALL,避免在新的开发工作中使用 GROUP BY ALL。Access中是不支持“Group By All”的,但Access中同样支持多列分组,上述SQL Server中的SQL在Access可以写成

select 类别, 摘要, sum(数量) AS 数量之和from Agroup by 类别, 摘要

7、Group By与聚合函数

在示例3中提到group by语句中select指定的字段必须是“分组依据字段”,其他字段若想出现在select中则必须包含在聚合函数中,常见的聚合函数如下表:

sum(列名)  求和  max(列名)  最大值  min(列名)  最小值  avg(列名)  平均值  first(列名)  第一条记录  仅Access支持last(列名)  最后一条记录  仅Access支持count(列名)  统计记录数  注意和count(*)的区别

示例5:求各组平均值

select 类别, avg(数量) AS 平均值 from A group by 类别;

示例6:求各组记录数目

select 类别, count(*) AS 记录数 from A group by 类别;

示例7:求各组记录数目

8、Having与Where的区别

where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。 having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。 示例8

select 类别, sum(数量) as 数量之和 from Agroup by 类别having sum(数量) > 18

示例9:Having和Where的联合使用方法

select 类别, SUM(数量)from Awhere 数量 gt;8group by 类别having SUM(数量) gt; 10

9、Compute 和 Compute By

select * from A where 数量 > 8

执行结果: 示例10:Compute

select *from Awhere 数量>8compute max(数量),min(数量),avg(数量)

执行结果如下: compute子句能够观察“查询结果”的数据细节或统计各列数据(如例10中max、min和avg),返回结果由select列表和compute统计结果组成。

示例11:Compute By

select *from Awhere 数量>8order by 类别compute max(数量),min(数量),avg(数量) by 类别

执行结果如下: 示例11与示例10相比多了“order by 类别”和“… by 类别”,示例10的执行结果实际是按照分组(a、b、c)进行了显示,每组都是由改组数据列表和改组数统计结果组成,另外:

compute子句必须与order by子句用一起使用 compute…by与group by相比,group by 只能得到各组数据的统计结果,而不能看到各组数据 在实际开发中compute与compute by的作用并不是很大,SQL Server支持compute和compute by,而Access并不支持

“mysql中groupby语句的使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

免责声明:

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

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

mysql中groupby语句的使用

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

下载Word文档

猜你喜欢

mysql groupby语句的用法是什么

MySQL的GROUP BY语句用于根据指定的列对查询结果进行分组。它通常与聚合函数(如SUM、COUNT、AVG等)一起使用,用于对每个组的数据进行计算或汇总。GROUP BY语句的基本语法如下:SELECT column1, col
mysql groupby语句的用法是什么
2024-04-09

mysql groupby语句使用报错怎么解决

当使用MySQL的GROUP BY语句时,可能会遇到一些错误,以下是一些常见的问题和解决方法:错误:‘Column ‘column_name’ in field list is ambiguous’解决方法:这个错误通常是因为在SELEC
mysql groupby语句使用报错怎么解决
2024-04-09

mysql groupby语句的特点有哪些

MySQL中的GROUP BY语句用于根据一个或多个列对结果集进行分组。以下是GROUP BY语句的特点:分组:GROUP BY语句根据指定的列对结果集进行分组。相同值的行将被分为一组。聚合函数:GROUP BY语句通常与聚合函数(如SUM
mysql groupby语句的特点有哪些
2024-04-09

Pig中的GROUPBY语句有什么作用

在Pig中,GROUP BY语句用于将数据按照指定的字段分组。通过GROUP BY语句,可以将具有相同值的记录聚合在一起,并对这些记录进行聚合操作,例如计数、求和、平均值等。GROUP BY语句通常与SUM、COUNT、AVG等聚合函数一起
Pig中的GROUPBY语句有什么作用
2024-03-07

MySQL如何使用GROUPBY和HAVING子句

在MySQL中,可以使用GROUP BY子句来对查询结果进行分组,然后使用HAVING子句来过滤分组后的结果。以下是使用GROUP BY和HAVING子句的示例:假设有一个名为orders的表,包含订单信息和订单金额字段。使用GROUP
MySQL如何使用GROUPBY和HAVING子句
2024-04-09

如何在SQLite中使用GROUPBY子句

在SQLite中,可以使用GROUP BY子句将查询结果按照一个或多个列进行分组。例如,假设有一个表格包含学生的成绩数据,并且想要按照班级来计算每个班级的平均成绩,可以使用以下查询:SELECT class, AVG(grade) as
如何在SQLite中使用GROUPBY子句
2024-04-09

mysql如何使用groupby

mysql 的 group by 子句用于将数据分组并进行聚合操作,语法:select aggregate_function(column_name) from table_name group by column_name。它允许根据指定
mysql如何使用groupby
2024-06-15

MySQL ddl语句的使用

前言 SQL的语言分类主要包含如下几种:DDL数据定义语言create、drop、alter数据定义语言 create、drop、alter 语句 。DML数据操纵语言insert、delete、update定义对数据库记录的增、删、改操作
2022-05-23

mysql中leave语句的使用方法

这篇文章主要讲解了“mysql中leave语句的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中leave语句的使用方法”吧!说明1、leave就是离开退出循环,好比编程里
2023-06-20

基础MySQL中insertinto语句的使用

MySQL中insert into语句的基本用法MySQL是一种常用的关系型数据库管理系统,它提供了丰富的SQL语句用于数据的查询和操作。其中,insert into语句用于向表中插入新的数据。下面将介绍MySQL中insert into
基础MySQL中insertinto语句的使用
2024-02-22

MySQL中explain语句的使用方法

小编给大家分享一下MySQL中explain语句的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、概述在 MySQL 中,我们可以使用慢查询日志或者 s
2023-06-14

mysql中loop语句的使用方法

本篇内容主要讲解“mysql中loop语句的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中loop语句的使用方法”吧!说明1、loop实现了一个简单的循环,退出循环的条件需要
2023-06-20

MySQL中EXPLAIN语句如何使用

这篇文章主要介绍了MySQL中EXPLAIN语句如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在MySQL优化的环节上,我们首先需要知道的就是我们当前的这句SQL语句
2023-06-14

编程热搜

目录