目录
函数的分类
SQL 中常用 5 类的函数:字符串函数,日期函数,数学函数,系统函数,聚合函数;
本次主要讲解的是聚合函数
聚合函数
AVG()
定义:返回数值列的平均值
语法:
SELECT AVG(column_name) FROM table_name
需要关注点:
- AVG()只用于单个列,只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。
- 若为了获得多个列的平均值,必须使用多个AVG()函数。
- NULL值:AVG()函数忽略列值为NULL的行。
COUNT()
定义:返回匹配指定条件的行数
语法:
-- 查询所有记录的条数
select count(*) from access_log;
select count(1) from access_log;
-- 查询websites 表中 alexa列中不为空的记录的条数
select count(alexa) from websites;
-- 查询websites表中 country列中不重复的记录条数,如1,1,2,3,3 则返回1,2,3
select count(distinct country) from websites;
需要关注点:
- 如果指定列名,则指定列的值为空的行被COUNT()函数忽略,但如果COUNT()函数中用的是星号(*),则不忽略。
- count(*)和count(1)的区别
MAX()
定义:返回指定列的最大值
语法:
-- 从 "Websites" 表的 "alexa" 列获取最大值
SELECT MAX(alexa) AS max_alexa FROM Websites;
需要关注点:
- 对非数值数据使用MAX():虽然MAX()一般用来找出最大的数值或日期值,但MySQL允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。在用于文本数据时,如果数据按相应的列排序,则MAX()返回最后一行。
- NULL值:MAX()函数忽略列值为NULL的行。
MIN()
定义:返回指定列的最小值。
语法: