我試圖找到一種從上一行中檢索值的方法。我想要做的是首先按日期1排序行(最早的第一個)。然後,如果日期2晚於該列中的所有之前的日期,我想要取出該行(加上第一個初始行)。我的服務器不支持LAG功能。我已經嘗試過使用CTE的建議,但我的服務器似乎也沒有認識到這一點。在MySQL中的上一行值
我想要做的是檢查按日期1排序後,如果第2行的日期2>第1行的日期2,並且如果是,則返回該行。
下面是一個示例表。正如你所看到的,ID是不相同的順序日期1. ID Date 1 Date 2 1 2000-01-01 2010-01-01 2 2001-08-01 2013-06-01 3 2000-06-01 2011-01-01 4 1999-07-01 2010-12-01 5 2002-02-01 2012-12-01
所以在我的例子,我想退還這3個記錄: ID Date_1 Date_2 Previous_max 4 1999-07-01 2010-12-01 NULL 3 2000-06-01 2011-01-01 2010-12-01 2 2001-08-01 2013-06-01 2011-01-01
ID 1,並且不退還5因爲日期1晚,日期2早於另一行(分別爲4和2)。
SQL Server和Oracle的支持LAG關鍵字,它讓一切變得簡單和良好的執行。在MySql中你需要的破解不是那麼重要。 –