牛骨文教育服务平台(让学习变的简单)
博文笔记

MySQL中的 COUNT、SUM与 GROUP BY

创建时间:2015-01-13 投稿人: 浏览次数:8350

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(*)是统计每一组有多少行

同样的,分组之后通常需要求和计算也是可以的

例如下表:


现在要统计每种书总共花了多少钱

SELECT a.infor,SUM(a.price)
FROM news_inf as a
GROUP BY a.infor


可以看到两本java书一共花了7元


注意:

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

参考:http://www.111cn.net/database/mysql/53202.htm

更多group by请参考:http://blog.csdn.net/xxpyeippx/article/details/8059910



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。