mysql - 如何每天获取平均行数?

标签 mysql average

我有一张 table

id | created
---------------
 1 | 2014-07-01
 2 | 2014-07-01
 3 | 2014-07-01
 4 | 2014-07-01
 5 | 2014-07-02
 6 | 2014-07-03
 7 | 2014-07-04
 8 | 2014-07-05
 9 | 2014-07-05
10 | 2014-07-05

我想获取每天的平均行数。所以如果是

2014-07-01: 4 rows
2014-07-02: 1 row
2014-07-03: 1 row
2014-07-04: 1 row
2014-07-05: 3 rows

平均是

sum 4 + 1 + 1 + 1 + 3 = 10 items
10 items / 5 days = 2 items/day

我的 SQL 查询是

SELECT AVG(COUNT(*))
FROM `mytable`
GROUP BY `created`

但我得到了这个错误

#1111 - Invalid use of group function

我必须如何修改我的查询才能获得正确的结果?

最佳答案

你也可以在没有子查询的情况下做到这一点。它更胖。

SELECT COUNT(*)/COUNT(DISTINCT `created`) FROM `mytable`;

这里是示例链接:http://sqlfiddle.com/#!2/2c284df/2

关于mysql - 如何每天获取平均行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799202/

相关文章:

java - 计算数组中没有最高值和最低值的平均值

php - <o :p>&nbsp;</o:p> < o : p > & nbsp ; </o : p > display error

MySQL - 通过使用多个 WHERE/OR 子句连接多个表来返回单个记录

mysql avg 有条件的

javascript - 尝试返回数组的最小值、最大值和平均值

MySQL - 在某些行上选择 AVG,在所有行上选择 SUM

mysql - 如何编译以避免共享库错误?

php - 具有自定义枢轴模型的 Laravel 5.2 三向枢轴

MySQL:带有计数(*)的千位分隔符

结果可以在不同列中的最后 x 个结果的 MySQL sum avg