MYSQL 聚合函数和分组函数
Posted C小杰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL 聚合函数和分组函数相关的知识,希望对你有一定的参考价值。
(一)sum、max 和 min 聚合函数
-
聚合函数概念
聚合函数用于对一组值进行计算并返回一个汇总值,使用聚合函数可以统计记录行数、计算某个字段值的总和以及这些值的最大值、最小值和平均值等。 -
聚合函数
-
聚合函数使用
(1)sum函数使用
select sum(miles) 线路总里程数 from line;
(2)max/min 函数使用
select max(miles) 最长线路里程 , min(miles) 最短线路里程 from line;
--查询年龄最大的公交司机的出生年月。
select min(birthday) 最年长司机生日 ,
ceil(datediff(curdate(),min(birthday))/365) 该司机年龄 from driver;
(二)avg 和 count 函数
(1) avg函数的使用
select avg(miles) 平均里程数 from line;
(2)count 函数函数的使用
select count(*) 线路数 from line;--使用“*”可获取整张表的记录行数。
select count(lineNo) 线路数 from line;
(三)分组查询 group by 子句
- group by 子句概念
使用 group by 子句可以将数据划分到不同的组中,实现对记录的分组查询。 - group by 子句语法
group by 字段列表 [having 条件表达式 ]
- group by 字句的使用
select number 运营车辆数, count(lineNo) 公交线路数
from line
group by number
order by number
(四)多字段分组和 having 子句
- 多字段分组
(1)概念:group by 子句的分组字段是一个字段列表,即 mysql 支持按多个字段进行分组。
(2)示例
select company 公司 , number 营运车辆数 , truncate(avg(miles),1) 平均营运里程
from line
group by company, number
- having子句
(1)概念:having 子句的作用是筛选满足条件的组,即在分组之后过滤数据。having 子句的位置放在 group by 子句之后,常包含聚合函数。
(2)示例
select model 型号 , type 类型 , count(*) 车辆数 from vehicle
group by model, type having 车辆数 >30 order by 车辆数 desc
以上是关于MYSQL 聚合函数和分组函数的主要内容,如果未能解决你的问题,请参考以下文章