聚集函数
1.1 AVG() --返回某列平均值 必须给出列名且作为函数参数,忽略列值为NULL的行
COUNT() --返回某列的行数
count(*) 对表中的数目进行计数,不管表中包含的是空值(NULL)还是非空值
count(column) 对指定列中具有值的行进行计数,忽略NULL值
MAX() --返回某列的最大值 须指定列名,忽略列值为NULL的行
MIN() --返回某列的最小值 须指定列名,忽略列值为NULL的行
max 和 min对于文本数据时,返回该列排序的最后一行或者是最前面一行
SUM() --返回某列值之和 须指定列名,忽略列值为NULL的行
eg: select sum(item_price*quantity) as total_price
from orderItems
where order_num = 20005
对于聚集函数,ALL参数是默认行为,包含不同值时,指定DISTINCT参数。
eg: select avg(DISTINCT prod_price) as avg_price
from product
where vend_id = 'DLL01'
DISTINCT 不能用于COUNT(*),DISTINCT 必须使用列名
DISTINCT无需用于min()和max()函数中,因为结果是相同的。
组合函数:
SELECT COUNT(*) AS num_items,
MIN(prod_price) AS price_min,
MAX(prod_price) AS price_max,
AVG(prod_price) AS price_avg
FROM Products;
建议函数结果取别名,虽然也合法,但是可能会产生模糊的错误消息。