比较MySQL-DB中最近两个日期的数据
将包含数据的表视为比较MySQL-DB中最近两个日期的数据,mysql,Mysql,将包含数据的表视为 SomeID Date SomeData 1 2014-07-29 SomeNumber1 2 2014-07-29 SomeNumber2 1 2014-07-30 SomeNumber3 2 2014-07-30 SomeNumber4 我希望将最近两个日期的一个ID的数据与另一个ID的数据进行比较。如何为最近的两个日期选择由ID和日期唯一标识的数据。最终的结果是 一些数字1-一些数字3
SomeID Date SomeData
1 2014-07-29 SomeNumber1
2 2014-07-29 SomeNumber2
1 2014-07-30 SomeNumber3
2 2014-07-30 SomeNumber4
我希望将最近两个日期的一个ID的数据与另一个ID的数据进行比较。如何为最近的两个日期选择由ID和日期唯一标识的数据。最终的结果是
一些数字1-一些数字3
一些数字2-一些数字4
以此类推……假设你的约会总是按顺序进行,你可以尝试以下方式:
select a.SomeData - b.SomeData from MyTable a, MyTable b
where a.SomeID = b.SomeID and b.Date = DATE_ADD(a.Date, INTERVAL 1 DAY)
但是你可能想跳过周末之类的,在这种情况下,使用增量列会变得复杂得多,例如真的很有趣:尽管我几乎没有付出任何努力,但我还是从meta复制了模板;实际上没有办法做一张桌子。你可以把它格式化。@fancyPants仅供参考:是的,读一下。我手头有时间。。不要太激动,尽管这是为了模拟堆栈溢出;正如我所说的,它应该只适用于最后两个日期,这将给我所有一天的差异。对不起,我以为您指的是两个连续的日期。请尝试在“选择MAXDate,Date_subxDate,间隔1天自MyTable”中添加:和b.Date