计算MySQL中的运行日差异

时间:2015-08-14 08:11:05

标签: mysql sql

我想计算当前行与上一行相比的天数差异。我现在拥有的:

Here is my column is day difference
     **Day_Diff**
        351
        363
        363

但我真正想要的是:

 **Day_Diff**
    351
     12
     12

我需要什么查询才能完成此任务?

1 个答案:

答案 0 :(得分:0)

这应该做的工作(如果您想要的是第一行中的最小值,然后差异到最小值,table是您的表的名称,day_diff您命名的列的名称Day_diff):

请参阅sqlfiddle

SELECT 
    CASE WHEN t1.day_diff = t2.min_day_diff 
        THEN t1.day_diff
        ELSE t1.day_diff - t2.min_day_diff
    END
FROM mytable t1
LEFT JOIN (SELECT MIN(day_diff) AS min_day_diff FROM mytable) t2
ON True;