Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较MySQL-DB中最近两个日期的数据_Mysql - Fatal编程技术网

比较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