广告
返回顶部
首页 > 资讯 > 数据库 >mysql中groupby语句的使用
  • 465
分享到

mysql中groupby语句的使用

2024-04-02 19:04:59 465人浏览 泡泡鱼
摘要

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

本篇内容介绍了“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语句的使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中groupby语句的使用

本文链接: https://www.lsjlt.com/news/61030.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • mysql中groupby语句的使用
    本篇内容介绍了“mysql中groupby语句的使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、概述...
    99+
    2022-10-18
  • Mysql中错误使用SQL语句Groupby被兼容的问题分析
    这篇文章给大家分享的是有关Mysql中错误使用SQL语句Groupby被兼容的问题分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先创建数据库hncu,建立stud表格。添加...
    99+
    2022-10-19
  • MySQL中的IF语句使用
    MySQL中的IF语句 在 MySQL 数据库中,IF 语句是一种常见的条件控制语句。它可以根据指定的条件返回不同的结果。在本文中,我们将介绍 IF 语句的基本用法以及实际应用场景。 IF函数 MySQL 提供了 IF 函数来实现 IF 语...
    99+
    2023-09-01
    mysql 数据库
  • MySQL ddl语句的使用
    前言 SQL的语言分类主要包含如下几种: DDL 数据定义语言 create、drop、alter 数据定义语言 create、...
    99+
    2022-05-23
    MySQL ddl语句 MySQL ddl
  • MySQL中if语句的使用方法
    这篇文章将为大家详细讲解有关MySQL中if语句的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语...
    99+
    2022-10-18
  • mysql中loop语句的使用方法
    本篇内容主要讲解“mysql中loop语句的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中loop语句的使用方法”吧!说明loop实现了一个简单的循环,退出循环的条件需要用其...
    99+
    2023-06-20
  • mysql中leave语句的使用方法
    这篇文章主要讲解了“mysql中leave语句的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中leave语句的使用方法”吧!说明leave就是离开退出循环,好比编程里面的...
    99+
    2023-06-20
  • MySQL中explain语句的使用方法
    小编给大家分享一下MySQL中explain语句的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、概述在 MySQL 中,我们可以使用慢查询日志或者 s...
    99+
    2023-06-14
  • MySQL SHOW STATUS语句的使用
    做MySQL性能调整和服务状态监控,有个前提就是我们要知道当前MySQL的运行状态. 很对开发人员对分库分表,读写分离,SQL性能分析等或多或少有看过一些文章分析,但是如果不结合实际的MySQL运行状态盲目的做一些M...
    99+
    2022-05-11
    MySQL SHOW STATUS MySQL SHOW STATUS语句
  • MySQL truncate table语句的使用
    Truncate table语句用来删除/截断表里的所有数据 和delete删除所有表数据在逻辑上含义相同,但性能更快 类似执行了drop table和create table两个语句 my...
    99+
    2022-05-22
    MySQL truncate table
  • mysql语句中如何使用like
    这篇文章主要介绍了mysql语句中如何使用like,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql语句中like用法:1、搭配【%】使用...
    99+
    2022-10-18
  • mysql 中alter语句如何使用
    这篇文章将为大家详细讲解有关mysql 中alter语句如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 1).修改表名...
    99+
    2022-10-18
  • MySQL中alter语句如何使用
    MySQL中alter语句如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。MySQL之alter语句用法总结 1:删除列ALT...
    99+
    2022-10-18
  • mysql中declare语句如何使用
    在MySQL中,DECLARE语句用于声明一个局部变量或一个局部游标。DECLARE语句必须在存储过程或函数的开头部分使用。 以下是...
    99+
    2023-10-28
    mysql
  • Mysql中使用Update From语句
    记录一下mysql中使用Update from 语句更新字段值: 场景是国家行政区划的数据表,字段内容包括: 应用场景中不想使用级联选择,选中下级节点,比如东城区时,直接显示北京-北京市-东城区,因此打算给数据表增加一个字段fu...
    99+
    2023-09-02
    mysql 数据库 sql
  • MySQL中EXPLAIN语句如何使用
    这篇文章主要介绍了MySQL中EXPLAIN语句如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在MySQL优化的环节上,我们首先需要知道的就是我们当前的这句SQL语句...
    99+
    2023-06-14
  • MySQL中EXPLAIN语句怎么使用
    这篇文章主要介绍了MySQL中EXPLAIN语句怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中EXPLAIN语句怎么使用文章都会有所收获,下面我们一起来看看吧。前言在MySQL中 DESCR...
    99+
    2023-06-30
  • MySQL中的distinct与groupby比较使用方法
    目录distinct的使用distinct用法distinct 多列去重group by的使用单列去重多列去重区别示例distinct和group by原理隐式排序先说大致的结论 :...
    99+
    2023-03-10
    MySQL distinct与group by MySQL distinct MySQL group by
  • mysql中insert into语句的使用方法
    小编给大家分享一下mysql中insert into语句的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Mysql数据库对于插入数据有专门的语句,就是in...
    99+
    2023-06-14
  • Mysql中的LIMIT 语句
    1. LIMIT 语句简介 LIMIT 语句是 MySQL 中常用的语句之一,它主要用于从关系型数据库中读取数据时,指定需要读取的行数。可以利用该语句实现分页功能,或者限制结果集返回的行数。其中最常用的语法格式如下: SELECT...
    99+
    2023-09-09
    数据库 sql mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作