Mysql聚合函数的使用介绍
作者:爱思考的猪 发布时间:2024-01-14 03:50:34
前言
聚合函数用来对表中的数据进行统计和计算。users表结构如下:
什么是聚合函数
聚合函数是用来做简单的数据统计的,比如说统计一下 “员工表” 中的平均工龄是多少年啊,员工表中一共有多少条记录等等… 这些都需要使用到聚合函数。
聚合函数也被称为 “汇总函数” ,在数据的查询分析中,应用的十分广泛。可以帮助我们实现对数据的求和、求最大值、求最小值、求平均值等等。
如果不指定统计的范围,那么聚合函数统计的范围就是整张数据表,该章节我们所讲解的 “聚合函数” 就是针对整张数据表范围的。
聚合函数演示案例:(求员工表中的平均月收入是多少?)
SELECT AVG(sal + IFNULL(comm,0)) AS 平均工资
from t_emp;
-- AVG:聚合函数,求平均值使用
-- IFNULL:IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值
PS:需要注意的地方,在聚合函数的返回结果集(无论是求和、最大值、最小值、还是求平均数),结果集只有一个返回数据。
SUM 函数
SUN 函数用于求和,只能用于数字类型;如果用于字符类型的数据,则统计结果为0;如果用于时间类型的数据的求和,则结果是毫秒数的相加。
SQL 语句演示 SUM函数 案例(统计 10、20 部门的员工的月薪的总和)
SELECT SUM(sal)
FROM t_emp
WHERE deptno IN (10, 20)
SQL 语句演示 SUM函数 案例(统计 ename(字段) 的综合 )
SELECT SUM(ename)
FROM t_emp
WHERE deptno IN (10, 20)
count
使用count统计某个字段的总行数,要注意区分包含null和不包含null
//不包含null
select count(user_id) from users; //8
//包含null
select count(*) from users; //10
max与min
max和main函数用来求某一列的最大值/最小值
//求男生的最大年龄
select max(age) from user where gender = '男'; //6
sum
使用sum对某一列进行求和
//对age大于30的列进行求和
select sum(age) from users where age>30;
//求平均年龄
select sum(age) / count(*) from usersl;
avg
avg函数用来计算列的平均值
//求男生的平均年龄,结果不准null列没有计算在内
select avg(age) from users where gender = '男';
//将age为null的也计算在内
select avg(ifnull(age,0)) from users where gender = '男';
总结
count函数用来求某一字段的行数不包含null,count(*)用来求总行数
max\min函数用来计算某一列的最大\最小值
sum函数对某一列进行求和
avg函数用来计算平均数
在对列进行计算式,聚合函数会默认忽略值为null的记录,使用ifnull进行null值的替换
来源:https://blog.csdn.net/qq_44621394/article/details/126907531


猜你喜欢
- 创建触发器创建只有一个执行语句的触发器CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件ON 表名 FOR EACH
- 我就废话不多说了,直接上代码吧!# coding:utf-8 2import turtle as t 3import random 4# 画
- ShuffleNet是由旷世发表的一个计算效率极高的CNN架构,它是专门为计算能力非常有限的移动设备(例如,10-150 MFLOPs)而设
- 您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 g
- 前言我们见到几乎所有的 Web 网站或者手机 App 也好,它们的最终目的都是要留住用户,提升自己网站的用户注册量,所以说用户的概念也必须深
- PyQt5多行文本框控件QTextEdit简介QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,
- 一、绘制成品二、绘制代码实现本文效果的整体思路是:加载库—选择背景音乐—绘制心的外轮廓&md
- 摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误
- Vue-router二级路由跳转另一条路由下的子级实验项目中,在一个 /list/user 列表中,当点击某一条时,需要跳转到 /detai
- 今天在做类似于qq那样的评论功能时,束手无策,在网上到处找答案,最后在一个很小很小的角落里受到了启发.认识了一个新的东西contentedi
- 迭代dict的key和value我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和va
- 一、问题原因(如果不是第一次使用pycharm,我觉得可以跳过这一章)我是升级以后,在用pycharm打开以前的项目就出现报错了;很明显是环
- 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保
- 本博文源于python科学计算,旨在解析如何使用python进行计算分段函数值。下面就以复杂的二元函数进行演示。题目再现求解思路首先先生成x
- 在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电
- 本文实例讲述了Python在字典中将键映射到多个值上的方法。分享给大家供大家参考,具体如下:问题:一个能将键(key)映射到多个值的字典(即
- 检测剪刀石头布三种手势,通过摄像头输入,方法如下:选用合适颜色空间及阈值提取皮肤部分使用滤波腐蚀膨胀等方法去噪边缘检测寻用合适方法分类Ope
- 我是初学者,对 flask 很陌生,网上搜到的文章都看不懂,很尴尬。本意是打算对广发信用卡diy卡积分兑换签帐额的数量进行爬虫监控。将抓取到
- 远程调用使得调用远程服务器的对象、方法的方式就和调用本地对象、方法的方式差不多,因为我们通过网络编程把这些都隐藏起来了。远程调用是分布式系统
- 我们先来看一下运行图下面我们来看源代码:<?php//抓取抖音的接口数据global $nCov_data;$nCov_data[