数据库的高级查询
- 聚合函数:
聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对数据求和、求最大值和最小值、平均值等。
聚合函数总共有 5 个:
SUM 函数:用于求和,只能用于数字类型,字符类型的统计结果为 0,日期类型的统计结果是毫秒数相加。
MAX 函数:用于获得非空值的最大值。
MIN 函数:用于获得非空值的最小值。
AVG 函数:用于获得非空值的平均值,非数字数据统计结果为 0。
COUNT 函数:COUNT(*) 用于获得包含空值的记录数,COUNT(字段) 用于获得包含非空值的记录数。
COUNT
是一个聚合函数,对于返回的结果集一行行地判断,如果 COUNT
函数汇总参数对应的字段值不是 Null
,累计值就加 1,否则不加,最后返回累计值。
COUNT(*)
、COUNT(1)
和 COUNT(主键id)
都返回满足条件的结果集的总行数;而 COUNT(字段)
则返回字段中值不是 Null
的总行数。
SELECT SUM(字段) FROM 数据表名称; #求和
SELECT MAX(字段) FROM 数据表名称; #求最大值
SELECT MIN(字段) FROM 数据表名称; #求最小值
SELECT AVG(字段) FROM 数据表名称; #求平均值
SELECT COUNT(*) FROM 数据表名称; #求包含空值的记录数
SELECT COUNT(字段) FROM 数据表名称; #求不包含空值的记录数
聚合函数不能出现在 WHERE
子句中。
- 分组查询:
默认情况下,聚合函数是对全表范围内的数据进行统计。
GROUP BY
子句的作用是通过一定的规则将一个数据集划分为若干个小的区域,然后针对每个小区域分别进行数据汇总处理。WHERE
子句一定要写在 GROUP BY
子句的前面。
SELECT 字段,SUM(字段