美文网首页mysql系列
mysql聚合函数的使用

mysql聚合函数的使用

作者: Fa1se003 | 来源:发表于2016-05-20 22:32 被阅读1168次

常用的聚合函数有 sum(求和) 、count(*) 记录数 、max(最大值)、min(最小值)

group by 关键字表示要进行分类聚合的字段,比如要按照班级分类进行学生人数统计,班级就应该放在group by 的后面。
with rollup是可选语法,表明是否对分类聚合后的结果进行汇总。having关键字表示对分类后的结果再进行条件筛选
having和where的区别在于,having是对聚合后的结果进行条件的筛选,而where是在聚合前就对记录进行过滤,如果逻辑允许,我们尽可能用where先过滤记录,这样因为结果集小,将对聚合的效率大大提高。

我们将要使用的student表

mysql> select * from student;
+----+--------+-------+---------+
| id | name   | score | classid |
+----+--------+-------+---------+
|  1 | 张三   |    99 |       3 |
|  2 | 李四   |    60 |       2 |
|  3 | 王五   |    88 |       2 |
|  4 | 赵6    |    22 |       1 |
+----+--------+-------+---------+
4 rows in set (0.00 sec)

查看student表中总人数
mysql> select count(1) from student;
+----------+
| count(1) |
+----------+
|        4 |
+----------+
1 row in set (0.00 sec)

统计各个班级的人数
mysql> select classid , count(1) from student group by classid;
+---------+----------+
| classid | count(1) |
+---------+----------+
|       1 |        1 |
|       2 |        2 |
|       3 |        1 |
+---------+----------+
3 rows in set (0.00 sec)

既要统计各个班级的人数,又要统计总人数
mysql> select classid , count(1) from student group by classid with rollup;
+---------+----------+
| classid | count(1) |
+---------+----------+
|       1 |        1 |
|       2 |        2 |
|       3 |        1 |
|    NULL |        4 |
+---------+----------+
4 rows in set (0.00 sec)

统计人数大于1的班级
mysql> select classid,count(1) from student group by classid having count(1)>1;
+---------+----------+
| classid | count(1) |
+---------+----------+
|       2 |        2 |
+---------+----------+
1 row in set (0.00 sec)

统计学生总分数,最高和最低分数
mysql> select sum(score),max(score),min(score) from student;
+------------+------------+------------+
| sum(score) | max(score) | min(score) |
+------------+------------+------------+
|        269 |         99 |         22 |
+------------+------------+------------+
1 row in set (0.00 sec)

相关文章

  • mysql函数

    MySQL聚合函数 MySQL聚合函数[http://www.yiibai.com/mysql/aggregate...

  • sql自学笔记(二十七)——MySQL8.0版本的新特性(十七)

    JSON聚合函数 mysql8.0(MySQL5.7.22)增加了2个聚合函数 JSON _ ARRAYAGG()...

  • mysql聚合函数的使用

    常用的聚合函数有 sum(求和) 、count(*) 记录数 、max(最大值)、min(最小值) group b...

  • mysql使用聚合函数查询

    用来对数据进行总结 1、COUNT()函数 COUNT(*)计算表中总的行数,不管某列有数值或者为空值。 COUN...

  • 开窗函数

    over在聚合函数中的使用:一般格式:聚合函数名(列) over(选项)over必须与聚合函数或排序函数一起使用...

  • 2018-10-31

    一、聚合函数和分组我们常见的聚合函数 聚合函数和分组group by 一起使用语法 例如使用 count()se...

  • Django-数据库操作之聚合函数和排序函数

    一、聚合函数 使用aggregate()过滤器调用聚合函数,聚合函数包括:Avg平均,Count数量,Max最大,...

  • 2021-05-25 Oracle 使用group by出现异常

    之前使用mysql的GROUP BY关键字时,可以在不使用聚合函数的情况下select多个非分组字段,比如: se...

  • 04 - 聚合与排序

    聚合函数 聚合函数 通过 SQL 对数据进行某种操作或计算时需要使用函数。用于汇总的函数称为聚合函数或者聚集函数聚...

  • MySQL聚合函数

    AVG(x) 返回x栏目所有值的的平均值 SUM(x) 返回x栏目所有值的和 MAX(x) 返回x栏目的最大值 M...

网友评论

    本文标题:mysql聚合函数的使用

    本文链接:https://www.haomeiwen.com/subject/pxwnrttx.html