0

我有一个包含文章记录的表。现在我想计算来自某个来源的文章之间的平均时间,这样我就可以自动增加或减少我的爬虫间隔。如果我从两个日期之间的一个来源中选择记录,那么 MySQL 查询是否可行?

表布局:

id | title    | description    | create_date          | source_id  
-----------------------------------------------------------------
1  | Title 1  | A description  | 2013-04-09 21:38:00  | 5
2  | Title 2  | A description  | 2013-04-09 22:16:00  | 5
3  | Title 3  | A description  | 2013-04-09 23:54:00  | 5

结果应该是:

diff between 1 and 3 = 136 min
-----------------------------
Average is 45,33 minutes (crawler interval: 2720 seconds)

如果更好的话,我也可以在 PHP 中执行此操作!

4

1 回答 1

2

是的。

SELECT
  UNIX_TIMESTAMP(MAX(create_time)) - UNIX_TIMESTAMP(MIN(create_time)) / COUNT(*) AS 'avg'
FROM table
WHERE source_id = 5
  AND create_time BETWEEN '2013-04-01 00:00:00' AND NOW() 
于 2013-04-09T21:13:20.177 回答