MySQLCOUNT与GROUPBY

2015-01-21 11:16:54 · 作者: · 浏览: 15

group by 用来对结果进行分组,分组之后便于统计,所以总会有count跟着出现

例如下表:

\

按照ID分组,统计每个ID重复了几次

?

SELECT yww_test.id,COUNT(id) as n
FROM yww_test
GROUP BY yww_test.id

\

?

把重复的记录找出来可以像下面这样

?

SELECT id,COUNT(*) AS n
FROM yww_test
GROUP BY yww_test.id
HAVING COUNT(*)>1;
\
其中count(*)是统计每一组有多少行

?

注意:

count(*)将返回表格中所有存在的行的总数包括值为null的行,然而count(列名)将返回表格中除去null以外的所有行的总数(有默认值的列也会被计入).
distinct 列名,得到的结果将是除去值为null和重复数据后的结果