首页 > 数据库 >mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加

时间:2023-06-01 16:32:25浏览次数:57  
标签:count 聚合 sal sum 累加 分组 emp deptno select

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_数据

MySQL从版本8.0开始,才支持窗口函数,所以之前的版本分组累加需要构造sql语句来实现。

数据:select * from emp;

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_数据_02

一、mysql总体聚合函数

min()、max()、count()、sum()、avg()

select count(ename) ,max(sal),min(sal),sum(sal),round(avg(sal),2) from emp;

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_数据_03

二、mysql总体累加/总体累计数量

#累计求和/累计数量
select @s :=0 ,@rank := 0;
select *,@s := @s+sal , @rank := @rank+1 from emp order by sal;

三、分组聚合

select deptno,count(sal),sum(sal),round(avg(sal),2) from emp 
group by deptno 
order by avg(sal);

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_mysql_04

select deptno,count(sal) from emp 
group by deptno having deptno = 10 or deptno = 30   #只要10、30部门的数据
order by count(sal) desc;

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_MySQL_05

select  deptno,count(sal) from emp  #计算各个部门sal>=2000的员工个数
where sal>=2000    
group by deptno 
order by count(sal) desc;

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_mysql_06

四、分组累加/累计计数

select empno,deptno,sal ,
(select sum(sal) from emp where deptno = e.deptno and empno<=e.empno ) as g_sum 
from emp as e order by deptno ,empno;


mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_MySQL_07


select empno,deptno,sal ,
(select sum(sal) from emp where deptno = e.deptno and sal<=e.sal ) as g_sum,
(select count(sal) from emp where deptno = e.deptno and sal<=e.sal order by sal) as g_count
from emp as e order by deptno ,sal;

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_mysql_08

mysql聚合函数---总体聚合、总体累加、分组聚合、分组累加_mysql_09

标签:count,聚合,sal,sum,累加,分组,emp,deptno,select
From: https://blog.51cto.com/u_16147578/6395755

相关文章

  • Swagger-接口分组篇
    分组需求开发中使用Swagger进行Api接口测试时常常会遇到以下情况:1.Controller中的Action、Model、DTO过多导致单页面加载时页面响应速度太慢 2.接口太多,如果用一个页面展示查找某个接口会很麻烦。虽然可以采用搜索方式解决此问题,但不推荐。分组功能实现1.新建目录ApiGroup,并......
  • wireshark 查找 DNS 域名——编辑里查找 选择分组详情里去按照字符串搜索即可
    ......
  • Java 微服务中的聚合器设计模式示例
    微服务架构中的聚合器设计模式是一种设计模式,用于通过聚合多个独立的微服务的响应来组成一个复杂的服务。它也是与SAGA、CQRS和EventSourcing一起的基本微服务设计模式之一。当客户端请求需要跨多个微服务分布的数据或功能时,此模式是合适的。可以提高系统的性能和可扩展性通过允许......
  • pandas groupby 分组操作
    最一般化的groupby方法是apply.tips=pd.read_csv('tips.csv')tips[:5]新生成一列tips['tip_pct']=tips['tip']/tips['total_bill']tips[:6]根据分组选出最高的5个tip_pct值deftop(df,n=5,column='tip_pct'):returndf.sort_index(by=colum......
  • EasyCVR视频融合平台设备分组共享功能的使用介绍
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议、多类型的设备接入,并能对设备进行分级、分组管理,并支持权限、角色分配,属于功能全面、性能稳定、高可靠、高可用的流媒体视频云服务平台。很多用户都使用过平台......
  • 分组,捕获,反向引用以及String类中使用
    1. 提出要求  896请看下面问题:给你一段文本请你找出所有四个数字连在一 起的子串,并且这四个数字要满足①第1位与第4位相同②第2位与第3位相同,比如1221,5775,……2. 介绍  896要解决前面的问题,我们需要了解正则表达式的几个概念:1. 分组我们可以用圆括号组成一个比较复杂的匹......
  • 8)排序、分组
    1、排序orderby:orderby:按照给定的字段或字段列表对结果集进行排序;asc是默认缺省值,升序排列;desc表示降序排序;orderby{col_name|expr|position}{[asc]|desc}[,{col_name|expr|position}{[asc]|desc},...]1)单列排序:select*fromchooseorderbysc......
  • EasyCVR视频融合平台设备分组共享功能的使用介绍
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议、多类型的设备接入,并能对设备进行分级、分组管理,并支持权限、角色分配,属于功能全面、性能稳定、高可靠、高可用的流媒体视频云服务平台。很多用户都使用过平台的......
  • 聚合函数
    1.聚合函数介绍什么是聚合函数聚合函数作用于一组数据,并对一组数据返回一个值聚合函数类型AVG()SUM()MAX()MIN()COUNT()1.1AVG和SUM函数可以对数值型数据使用AVG和SUM函数mysql>SELECTAVG(salary),MAX(salary),MIN(salary),SUM(salary)->F......
  • SpringBoot集成swagger-ui以及swagger分组显示
    文章目录1.swagger配置类2.使用swagger3.额外的学习经历大家好,这篇文章展示下如何在springboot项目中集成swagger-ui。有人说,这都是老生常谈,网上的例子数不胜数。确实swagger诞生至今已经很久了,但是在使用过程中我遇到一个问题,下面给大家分享下我的使用心得吧。1.swagger配置类第......