Sql 复习(3)

COUNT(*)返回所有行数,包括值为NULL的行数。

COUNT(address)返回address不为NULL的行数。

AVG,SUM,MAX,MIN都会忽略值为NULL的行。

MIN如果对非数值数据操作。将返回该列排序最前面的行。

MAX如果对非数值数据操作。将返回该列排序最后面的行。

ALL和DISTINCT

ALL是聚合函数的默认行为,如果不指定DISTINCT,则默认为对所有行执行计算。

SELECT COUNT(ALL address) FROM Users 等价于 SELECT COUNT(address) FROM Users

SELECT SUM(DISTINCT price) FROM Products

DISTINCT可以用于MIN或者MAX,但是这样做没有意义。

因为不管取最大值还是最小值都和数据是否重复无关。

DISTINCT后面必须有列名,所以COUNT(DISTINCT *)是不合法的。

猜你喜欢

转载自www.cnblogs.com/grady1028/p/10660677.html
今日推荐