前提条件:查询表PERSON中所有的记录。
SELECT * FROM PERSON ;
一、查询结果的分组操作:(Group By)
分组允许把数据表中的数据按照某个(多个)字段分为多个组,字段值相同的为一组。
SELECT height,COUNT(*) FROM PERSON group by height;
注1:Group By 只是创建分组,不保证分组里面的数据的排列顺序是怎样的。
注2:如果分组列中具有null值,则null值将作为一个分组返回。如果列中有多行null值,它们将分为一组。
注3:Group By子句必须出现在where子句之后,order by子句之前。
注4:分组是为了便于对每个组进行聚集计算。
注5 : 除了聚集函数之外,SELECT 语句后的每个列都必须在 GROUP BY 子句中给出。
二、过滤分组:(Having)
MySQL使用子句对分组指定条件,规定包含哪些分组,排除哪些分组。
where子句过滤指定的行,having子句过滤指定的分组。
SELECT height, COUNT( * ) FROMPERSON
GROUP BYheight having count(*)>1;
领取专属 10元无门槛券
私享最新 技术干货