MySQL 多行函数


多行函数

在这里插入图片描述

多行函数,即组函数,也叫聚合函数,它们的作用是对一组(至少 2 条)记录进行统计计算,并得到统计结果。 在使用多行函数时需要注意以下两点:

  • 默认情况下,多行函数忽略值为 null 的记录,不会把它们拿来参与运算。
  • 默认情况下,多行函数会统计重复值,不会自动去重。

下面介绍常用的多行函数,input 表示字段名,如下表所示:

组函数名说明
AVG(input)求平均值
SUM(input)求和
MAX(input)求最大值
MIN(input)求最小值
COUNT(input)统计总数

接下来对上述多行函数进行演示。

开始下面实验时,请同学们自行导入上一次实验所下载的 world.sql,并切换数据库。

source /home/project/world.sql

1. 求 country 表中,所有国家人口的平均值,其 SQL 语句实现如下:

MariaDB [world]> select avg(population) as 平均人口 from country;
+---------------+
| 平均人口      |
+---------------+
| 25434098.1172 |
+---------------+
1 row in set (0.001 sec)

结果解析:求平均值一般会出现小数位,但像人口数这样的数据出现小数位就显得不合适。我们可以结合上一章的求四舍五入的单行函数,把小数点给去掉。修改后的 SQL 语句如下:

MariaDB [world]> select round(avg(population), 0) as 平均人口 from country;
+--------------+
| 平均人口     |
+--------------+
|     25434098 |
+--------------+
1 row in set (0.000 sec)

注意:在 round 函数中设置保留 0 位小数,所以结果只有整数部分。

2. 求 country 表中,所有国家人口的总数,其 SQL 语句实现如下:

MariaDB [world]> select sum(population) as 人口总数 from country;
+--------------+
| 人口总数     |
+--------------+
|   6078749450 |
+--------------+
1 row in set (0.000 sec)

3. 求 country 表中,人口最多和最少国家的人口数量,其 SQL 语句实现如下:

MariaDB [world]> select max(population) as 最多人口数, min(population) as 最少人口数 from country;
+-----------------+-----------------+
| 最多人口数      | 最少人口数      |
+-----------------+-----------------+
|      1277558000 |               0 |
+-----------------+-----------------+
1 row in set (0.000 sec)

注意:world 示例数据库中的数据仅供 MySQL 操作练习使用,不确保数据真实性。

4. 求 country 表中,总共有多少个国家,其 SQL 语句实现如下:

MariaDB [world]> select count(name) as 国家总数 from country;
+--------------+
| 国家总数     |
+--------------+
|          239 |
+--------------+
1 row in set (0.000 sec)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值