计算事件之间的天数mysql

时间:2016-10-30 17:56:15

标签: mysql

       name          date
|A BADGE TOO FAR| 1997-03-15|
|A BADGE TOO FAR| 1997-03-22|
|A BEAT SO FAR  | 2010-11-19|
|A BEAT SO FAR  | 2011-01-11|
|A BEAT SO FAR  | 2012-03-04|
|A BEAT SO FAR  | 2012-03-29|

我有一个类似上面示例的数据表,我需要计算日期之间的天数

1 个答案:

答案 0 :(得分:0)

一种简单的方法是在会话变量中保留上一行的日期,并使用DATEDIFF()函数作为@eightShirt的评论。

SELECT DATEDIFF(date, @d), @d:=date
FROM mytable
ORDER BY date;

确保按date订购,以正确的顺序获取行。如果没有明确地排序查询,则无法保证按任何特定顺序处理行。在实践中,它通常按索引顺序,对于查询使用的任何索引,但这取决于优化器。

SQLFiddle演示:http://sqlfiddle.com/#!9/c3f413/2