2016-09-18 85 views
0

对不起,我很难解释我的问题和搜索以前的答案。这是我的问题 - 我有一个事件的MySQL表Mysql时间差

CREATE TABLE events { 
    id INT, 
    event INT, 
    date DATETIME 
} 

数据被添加几个星期或一个月。我希望看到两次相邻事件之间的统计时间差异。喜欢的东西:

时间两个事件

  • 1天APPART之间的差异 - 4个occurances
  • 2天开 - 2个occurances除了
  • n天 - X occurances

它应该是这样的,我想,但是计算事件之间的时间差。

SELECT COUNT('id') AS 'no', ??? AS 'delta' GROUP BY FLOOR('delta') 
+0

做sqlfiddle并显示预期的结果。 [什么是SQLFiddle,为什么我应该关心?](http://stackoverflow.com/questions/38899464) – Drew

回答

0

这一段SQL代码做到了:

SET @old = NOW(); 
SELECT COUNT(`id`) AS `no`, query1.`delta` FROM 
    (SELECT `id`, `date`, DATEDIFF(@old, `date`) AS `delta`, @old := `date` AS `old` 
    FROM `life` 
    ORDER BY `date`DESC) query1 
GROUP BY `delta` 
ORDER BY `delta`