mysql的聚合函数

聚合操作的语法如下:
-- SELECT [field1,field2,……fieldn] fun_name
-- FROM tablename
-- [WHERE where_contition]
-- [GROUP BY field1,field2,……fieldn
-- [WITH ROLLUP]]
-- [HAVING where_contition]
-- 对其参数进行以下说明。
fun_name 表示要做的聚合操作,也就是聚合函数,常用的有 sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。
GROUP BY 关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该写在 group by 后面。
WITH ROLLUP 是可选语法,表明是否对分类聚合后的结果进行再汇总。
HAVING 关键字表示对分类后的结果再进行条件的过滤。

-- 注意:having 和 where 的区别在于 having 是对聚合后的结果进行条件的过滤,而 where 是在聚
-- 合前就对记录进行过滤,如果逻辑允许,我们尽可能用 where 先过滤记录,这样因为结果
-- 集减小,将对聚合的效率大大提高,最后再根据逻辑看是否用 having 进行再过滤

-- select deptno,count(1) from emp group by deptno having count(1)>1;
-- 统计公司所有员工的薪水总额、最高和最低薪水:
-- select sum(sal),max(sal),min(sal) from emp;

原文地址:https://www.cnblogs.com/pangdajin/p/9541616.html

时间: 2024-11-05 12:31:23

mysql的聚合函数的相关文章

mysql之聚合函数、group by、having

sql中提供聚合函数可以用来统计,求和,求最值等 那么聚合函数有哪些呢? COUNT    统计行数量 SUM         求某一列的和 AVG          求某一列的平均值 MAX  求某一列的最大值 MIN    求某一列的最小值 下面给出一些具体的用法 COUNT  标准格式 SELECT COUNT(<计数规范>)  FROM 表名; 其中,计数规范包括 -* : 计算所有选择的的行,包括NULL的值 - ALL列名 : 技术所有指定列的非空值,如果不写,就默认为ALL -

MYSQL查询--聚合函数查询

聚合函数查询 聚合函数的最大特点是它们根据一组数据求出一个值.聚合函数的结果值只根据选定行中非NULL的值进行计算,NULL值被忽略. COUNT()函数 COUNT()函数,对于除"*"以外的任何参数,返回所选择集合中非NULL值的行的数目:对于参数"*",返回选择集合中所有行的数目,包含NULL值的行.没有WHERE子句的COUNT(*)是经过内部优化的,能够快速的返回表中所有的记录总数. 例子: select COUNT(*) from info; 查询结果:

mysql 从聚合函数group by到sql_mode

说到group by, 想必大家都不陌生, 就是对查询的数据进行分组,我们可以通过该操作实现一些特殊需求,比如去重. 最近在项目中使用HQL:" from TSjrz where CBh = ? group by CName ",当hibernate在底层使用查询的时候会将该表的所有字段查出来,并且通过C_NAME来分组.写这样一个HQL的目的是想要通过group by 去除重复的C_NAME值.然后对所取到的数据进行操作. 我的mysql 版本是5.6.17, 当使用上面这种写法时是

MySQL之聚合函数

1.AVG() 用法:求平均值 举例: mysql> select * from t1; +----+------+----------+---------+-------+-------+ | id | name | password | test001 | test3 | test4 | +----+------+----------+---------+-------+-------+ | 2 | 1 | 1 | 1 | 1 | 1 | | 3 | 3 | 4 | 5 | 6 | 7 |

MySQL使用聚合函数查询

create table `t_grade` ( `id` int , `stuName` varchar (60), `course` varchar (60), `score` int ); insert into `t_grade` (`id`, `stuName`, `course`, `score`) values('1','张三','语文','91');insert into `t_grade` (`id`, `stuName`, `course`, `score`) values(

MySQL 聚合函数

MySQL 聚合函数常用的有五个 SUM COUNT AVG MIN/MAX AVG ([DISTINCT] expr) 返回expr 的平均值.DISTINCT 选项可用于返回expr的不同值的平均值. SELECT gender, AVG(age) FROM student GROUP BY gender; COUNT(expr) 返回SELECT语句检索到的行中非NULL值的数目. SELECT COUNT(*) FROM student; --返回检索行的数目,不论其是否包含 NULL值

Mysql中使用聚合函数对null值的处理

平时因为对于数据库研习的不深,所以在面试的时候问了一些平常遇到过的问题居然没法很肯定地回答出来,实在让自己很恼怒! 这次让我记忆深刻的一个问题是: 在mysql中使用聚合函数的时候比如avg(t),t是表中一个类型int型的字段,可为null,有三行数据,三行中的数据分别为:10,null,20,请问最后的结果是什么? 我的回答是15,在面试结束之后我尝试了一下结果没错,不过我对于聚集函数对null的处理貌似错了,我认为是聚合函数会将null值看作0,找了一番,博客中都认为是忽略null值,因为

MySQL最常用分组聚合函数

一.聚合函数(aggregation function)---也就是组函数 在一个行的集合(一组行)上进行操作,对每个组给一个结果. 常用的组函数: AVG([distinct] expr) 求平均值 COUNT({*|[distinct] } expr) 统计行的数量 MAX([distinct] expr) 求最大值 MIN([distinct] expr) 求最小值 SUM([distinct] expr) 求累加和 ①每个组函数接收一个参数 ②默认情况下,组函数忽略列值为null的行,不

MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4030506.html 联系方式:[email protected] [正文] 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设.它的设计符合数据库管理员.开