有哪些聚合函数?
聚合函数是SQL中用于对一组值进行计算并返回单个值的函数。常见的聚合函数有: 1. COUNT():计算表中记录的数量。 2. SUM():计算表中某列的总和。 3. AVG():计算表中某列的平均值。 4. MIN():找出表中某列的最小值。 5. MAX():找出表中某列的最大值。 6. GROUP_CONCAT():将多行数据连接成一个字符串。 7. FIRST():返回分组后的第一条记录。 8. LAST():返回分组后的最后一条记录。
在开发中,我们常常有类似的需求:统计某个字段的最大值、最小值、 平均值等等。为此,MySQL中提供了聚合函数来实现这些功能。所谓聚合,就是将多行汇总成一行;其实,所有的聚合函数均如此——输入多行,输出一行。聚合函数具有自动滤空的功能,若某一个值为NULL,那么会自动将其过滤使其不参与运算。
聚合函数使用规则:
只有SELECT子句和HAVING子句、ORDER BY子句中能够使用聚合函数。例如,在WHERE子句中使用聚合函数是错误的。
接下来,我们学习常用聚合函数。
1.1、count()
统计表中数据的行数或者统计指定列其值不为NULL的数据个数
查询有多少该表中有多少人
MySQL命令:
selectcount(*)fromstudent;
1.2、max()
计算指定列的最大值,如果指定列是字符串类型则使用字符串排序运算
查询该学生表中年纪最大的学生
MySQL命令:
selectmax(age)fromstudent;
1.3、min()
计算指定列的最小值,如果指定列是字符串类型则使用字符串排序运算
查询该学生表中年纪最小的学生 MySQL命令:
selectsname,min(age)fromstudent;
1.4、sum()
计算指定列的数值和,如果指定列类型不是数值类型则计算结果为0
查询该学生表中年纪的总和 MySQL命令:
selectsum(age)fromstudent;
1.5、avg()
计算指定列的平均值,如果指定列类型不是数值类型则计算结果为
查询该学生表中年纪的平均数 MySQL命令:
selectavg(age)fromstudent;
2.其他常用函数
这里我就不一一举例了,基本混个眼熟,以后用到再细说
2.1、时间函数
SELECTNOW();SELECTDAY(NOW());SELECTDATE(NOW());SELECTTIME(NOW());SELECTYEAR(NOW());SELECTMONTH(NOW());SELECTCURRENT_DATE();SELECTCURRENT_TIME();SELECTCURRENT_TIMESTAMP();SELECTADDTIME('14:23:12','01:02:01');SELECTDATE_ADD(NOW(),INTERVAL1DAY);SELECTDATE_ADD(NOW(),INTERVAL1MONTH);SELECTDATE_SUB(NOW(),INTERVAL1DAY);SELECTDATE_SUB(NOW(),INTERVAL1MONTH);SELECTDATEDIFF('2019-07-22','2019-05-05');
2.2、字符串函数
--连接函数SELECTCONCAT()--SELECTINSTR();--统计长度SELECTLENGTH();
2.3、数学函数
--绝对值SELECTABS(-136);--向上取整SELECTFLOOR(3.14);--向下取整SELECTCEILING(3.14);