每天创建的平均行数?

fek*_*lee 15 mysql statistics

示例表结构:

+-------------------------+---------------+------+-----+-----------------------+-----------------------------+
| Field                   | Type          | Null | Key | Default               | Extra                       |
+-------------------------+---------------+------+-----+-----------------------+-----------------------------+
| id                      | char(25)      | NO   | PRI | NULL                  |                             |
| created_at              | timestamp     | NO   |     | CURRENT_TIMESTAMP     | on update CURRENT_TIMESTAMP |
+-------------------------+---------------+------+-----+-----------------------+-----------------------------+
Run Code Online (Sandbox Code Playgroud)

如何找出每天添加的平均行数?

jue*_*n d 30

这将返回一个int数字:

select count(*) / count(distinct date(created_at))
from your_table
Run Code Online (Sandbox Code Playgroud)

要获得一个decimal数字使用:

select count(*) * 1.0 / count(distinct date(created_at))
from your_table
Run Code Online (Sandbox Code Playgroud)

  • 如果您每天都没有更改,这些数字可能会产生误导.例如,如果您在过去6个月内仅在3天内添加了100个新行,那么您将获得平均33.333,这是每天有变化的平均值,但不是平均值有多少变化. (3认同)

小智 20

SELECT AVG(rowsPerDay) AS avgPerDay
FROM ( SELECT 
         COUNT(*) AS rowsPerDay
       FROM tbl
       GROUP BY DATE(created_at)
     ) AS a
;
Run Code Online (Sandbox Code Playgroud)