一、聚集函数
聚集函数:运行在行组上,计算和返回单个值的函数
SQL聚集函数
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列值之和 |
1.1 AVG()函数
AVG():返回所有列、特定列或行的平均值
- 返回一个列所有行的平均值
SELECT AVG(column_name) FROM table
- 返回一个列特定行的平均值
SELECT AVG(column_name) FROM table WHERE column_name = "xxx"
- 返回多个列的平均值
SELECT AVG(column1_name),AVG(column2_name) FROM table
注意:
AVG()函数只能用于单个列,想要对多个列求平均值则需要使用多个AVG()函数
AVG()函数忽略列值为NULL的行
1.2 COUNT()函数
COUNT()函数进行计数,可利用COUNT()对表中所有行或者特定行进行计数
COUNT()函数有两种计数方式:
- COUNT(*) 对所有行进行计数,不管表列中包含的是空值还是非空值
- COUNT(column) 对某列进行计数,忽略空值
用法如下:
(1) 返回表table的所有行的数目
SELECT COUNT(*) FROM table
(2)返回列column_name不为NULL的行数
SELECT COUNT(column_name) FROM table
1.3 MAX()函数
返回指定列的最大值,必须指定列名,如下所示:
SELECT MAX(column_name) FROM table
以上返回表table中列column_name的最大值
注意:
- MAX()函数忽略列值为NULL的行
- MAX()函数一般用于数值型或者日期型数据。但也可以用于其他类型数据,当用于文本型数据时则返回最后一行
1.4 MIN()函数
返回指定列的最小值,必须指定列名,如下所示:
SELECT MIN(column_name) FROM table
以上返回表table中列column_name的最小值
注意:
- MIN()函数忽略列值为NULL的行
- MIN()函数一般用于数值型或者日期型数据。但也可以用于其他类型数据,当用于文本型数据时则返回最前面一行
1.5 SUN()函数
SUN()函数用来返回指定列值的和(总计)。用法如下:
SELECT SUN(column_name) FROM table
以上返回表table所有列column_name的值
二、聚集不同的函数
使用DISTINCT参数则只对列值不同的行进行计算,用法如下:
SELECT AVG( DISTINCT column_name) FROM table
三、组合聚集函数
实际上,聚集函数可以多个组合使用,比如:
SELECT SUN(column_name),AVG(column_name) FROM table