5个常用的聚合函数:
COUNT(*)和COUNT(<列名>)的区别?
COUNT(*)会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数
-- sum()函数的基本使用
select sum(price) from Product;
四则运算这中如果存在null,则结果一定是null。但是所有的聚合函数,如果以列名为参数,那么在计算之前就已经把NULL 排除在外了。因此,无论有多少个 NULL 都会被无视。
聚合函数会将NULL排除在外。但COUNT(*)例外,并不会排除NULL。
-- AVG函数基本用法
select avg(sale_price) from Product;
-- 返回记录中的最大值和最小值
select max(price),min(price) from Product
MAX/MIN 函数和 SUM/AVG 函数有一点不同,那就是 SUM/AVG 函数只能对数值类型的列使用,而 MAX/MIN 函数原则上可以适用于任何数据类型的列。
-- 返回日期的最大值和最小值
SELECT MAX(register_date),MIN(register_date) from Product;
-- 计算去除重复数据后的数据行数
SELECT COUNT(DISTINCT product_type)
FROM Product;
-- 计算去除重复数据后的数据总数
SELECT SUM(DISTINCT product_type)
FROM Product;
DISTINCT 必须写在括号中。这是因为必须要在计算行数之前删除 product_type 列中的重复数据。
原文:https://www.cnblogs.com/sanzashu/p/11011887.html