MySQL 聚合函数 控制流程函数
常用的聚合函数
1. AVG() 求平均值
mysql> AVG([DISTINCT] expr) -- 返回 expr 的平均值 mysql> select AVG(age) from table_teacher;
2. COUNT() 统计 select 语句检索到的行的数目
mysql> select COUNT(*) from table_teacher; -- 返回检索行的数目,不论其是否包含NULL mysql> select COUNT(name) from tab_teacher; -- 返回select语句检索到的行中非NULL的数目
3. MAX() 返回最大值
mysql> select MAX(age) from tab_teacher -- 返回最大的age
4. MIN() 返回最小值
mysql> select MIN(age) from tab_teacher -- 返回最小的age
5. SUM() 求和
mysql> select SUM(age) from tab_teacher -- 对age进行求和
控制流程函数
常用的流程控制语句有:
CASE .. WHEN .. THEN ... ELSE ... END
CASE value WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE result3 END -- 用 value 值来做匹配,如果value1和value匹配,则返回result1,如果value2和value匹配,则返回result2,否则返回ELSE后面的result3,如果没有ELSE部分的值,则返回NULL。 -- 类似于Java当中的switch...case..default...语句
IF
IF(expr1, expr2, expr3) -- 如果expr1是true,返回expr2,否则返回expr3 -- 类似于三目运算符
IFNULL
IFNULL(expr1, expr2) -- 如果expr1为NULL,返回expr2;否则返回expr1
NULLIF
NULLIF(expr1, expr2) -- 如果expr1=expr2成立,那么返回NULL,否则返回expr1