聚合函数+group by

这篇具有很好参考价值的文章主要介绍了聚合函数+group by。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

聚合函数

常用的聚合函数有COUNT()、AVG()、SUM()、MAX()、MIN()。

  1. COUNT()函数:统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。

COUNT(*)计算表中总的行数,不管某列是否有数值或者为空值。
COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行。

对于学生表来说:

  • 实例

COUNT:

统计班级共有多少个同学:

mysql> select count(*) from students;

统计同学QQ的个数(去重):

mysql> select count(distinct QQ) from students;
  1. AVG()函数:通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。

统计学生平均总分:

select avg(chinese + math + english) 平均总分 from students;
  1. SUM()函数:是一个求总和的函数,返回指定列值的总和。

SUM:

统计同学数学成绩总分:

mysql> select sum(math) from students;

统计同学数学成绩总分中<60的部分(没有结果就返回NULL):

mysql> select sum(math) from students where math < 60;
  1. MAX()函数:返回指定列中的最大值,不仅适用于查找数值类型,也可应用于字符类型。

统计英语最高分:

mysql> select max(english) from students;
  1. MIN()函数:返回查询列中的最小值,不仅适用于查找数值类型,也可应用于字符类型。

统计英语最低分:

mysql> select min(english) from students;

group by子句

对于员工表来说:

  • EMP员工表
  • DEPT部门表
  • SALGRADE工资等级表

显示每个部门的平均工资和最高工资(以部分分组):

select deptno,avg(sal),max(sal) from EMP group by deptno;

显示每个部门的每种岗位的平均工资和最低工资(以部门和岗位分组):

select avg(sal),min(sal),job, deptno from EMP group by deptno, job;

显示平均工资低于2000的部门和它的平均工资:

首先要统计各部门的平均工资:

select avg(sal) from EMP group by deptno;

然后要取出其中<2000的部分:

select avg(sal) as myavg from EMP group by deptno having myavg<2000;

having其实类似于where,不同的是where是过滤表数据的,而having是过滤分组数据的。

对于查询语句来说,它们两个是可以同时存在的,先执行where过滤,再进行聚合,再进行分组,最后才是从分组里having过滤。文章来源地址https://www.toymoban.com/news/detail-432499.html

到了这里,关于聚合函数+group by的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • group by聚合分组后如何获取分组数据

    之前用group by分组后一直困惑怎么把分组后的数据拿到,因为分组后同一组的只有一条数据,最后发现了 group_concat函数。记录一下,以后能用。 语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator \\\'分隔符\\\'] ) 说明:通过使用 distinct 可以排除重复值(去重

    2024年02月05日
    浏览(44)
  • ES聚合分页(group by分组后分页)

    案例:统计业务应用流量数据

    2024年02月11日
    浏览(54)
  • PostgreSQL数据库以任意时间间隔聚合查询group by

    我们做的是智慧交通信控平台,需要将实时采集到的交通大数据(信号机灯态、卡口过车、雷达数据等)全部入库,按照时间顺序存储 然后根据原始数据,再计算出一些交通评价指标,存储到数据库,供后续聚合查询和分析统计 前端设备(信号机、雷达、卡口等)上报原始

    2024年02月02日
    浏览(56)
  • MySQL修炼手册4:分组与聚合:GROUP BY与HAVING的应用

    MySQL数据库的强大功能为我们提供了丰富的数据处理工具,其中GROUP BY与HAVING的应用使得数据的分组与聚合变得更加灵活和高效。在本篇博客中,我们将深入研究GROUP BY与HAVING的基础知识,并通过实际案例,展示它们在数据分析中的强大威力。 首先,为了更好地演示GROUP BY与

    2024年02月01日
    浏览(86)
  • 【flink番外篇】9、Flink Table API 支持的操作示例(6)- 表的聚合(group by、Distinct、GroupBy/Over Window Aggregation)操作

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月02日
    浏览(34)
  • 【MySQL】常用的五个聚合函数

    聚合函数 ,也称聚集函数或分组函数,它是 对一组数据进行汇总 的函数,输入的是一组数据的集合,输出的是单个值。 AVG() :求平均值 SUM() 求总和 MAX() :求最大值 MIN() :求最小值 COUNT() :求个数 3.1 AVG() / SUM() 适用于数值类型。 如:查询员工表的平均工资 操作对象的数据

    2024年02月15日
    浏览(41)
  • MongoDB聚合:$count

    $count 阶段用于统计管道中文档的数量。 string 是文档计数输出字段的名称。 string 必须是非空字符串,不能以 $ 开头,也不能包含 . 字符。 $count 阶段相当于下面 $group + $project 聚合序列: 其中 myCount 是包含计数的输出字段。也可以为输出字段指定其他名称。 \\\"scores\\\"的集合有以

    2024年02月02日
    浏览(32)
  • Hive中的常用concat函数——concat函数、concat_ws函数和group_concat函数

    连接参数的函数,返回结果为连接参数的字符串。如果有一个参数为 NULL ,则返回的结果为 NULL 。 concat() 的一个特殊形式,表示 concat with separator ,两个参数之间加上特定的分隔符。返回的是用指定分隔符连接参数的字符串。如果分割符为 null ,则返回 null ,参数为 null ,则

    2024年02月02日
    浏览(42)
  • SQL中常用的聚合函数,知道这些就够了

            在实际表的查询中,有时候不是简单的查些数据,而是需要对数据进行一些汇总,此时就要用到聚合函数。经常用到的聚合函数只有五种,只要掌握了就能够应对很多场景的需求。         1.count()函数。         count()函数统计数据表中所包含的总行数,或者

    2024年02月05日
    浏览(82)
  • mysql GROUP BY 怎么 order by 排序

    在 MySQL 中使用 GROUP BY 子句时,如果需要对结果进行排序,可以使用 ORDER BY 子句来对分组后的结果进行排序。 ORDER BY 子句应该放在 GROUP BY 子句之后,使用逗号来分隔需要排序的列,并在排序列后指定排序顺序。例如: 在这个例子中,SELECT 语句选择了表 table1 中的列 column1 和

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包