mysql 分组、聚集

聚集函数

count sum avg max min

sum、avg、max、min 忽略值为null的行

count(*) 统计行数,包含值为null的行

count(a) 统计a不为null的行数,忽略null

count(a=1) 统计a为1的行数

select sum(a*b) as c ...

select avg( distinct a ) distinct只能用于列名,

不能用于计算或表达式,也不能用于count(*)

select count(distinct a) 计算不同的a的数量

分组

除了聚集函数外,select 中使用的表达式,必须出现在group by中,不能使用别名

所有的null将被分为一组

having支持所有where的操作符

select name, count(*) from t

group by name

having count(*) >= 2

having count(distinct a)>2 a的种类大于2

相关推荐