2011-05-10 116 views
1

我有一個表像,我可以訪問最後一條記錄的上一條記錄嗎?mysql?

contractId date   value  
    1   09/02/2011  A   
    2   13/02/2011  C   
    4   02/02/2011  D 
    6   08/02/2011  A 
    7   12/02/2011  C 
    9   22/01/2011  C 

如何訪問的最後record'th(9)此前的紀錄(contractId - 7)?有沒有可用的SQL查詢?

+0

不清楚的問題?你想要檢索哪一個? – diEcho 2011-05-10 12:30:52

+0

我想下面的一個記錄 7 12/02/2011Ç 這是最後一個記錄 – 2011-05-10 13:14:35

回答

6
SELECT * 
    FROM table 
ORDER BY contractId DESC 
    LIMIT 1,1 

此查詢逆轉你的餐桌,並得到從位置1一個記錄(所以這將是第二排; 0是第一個)。

+0

以前的記錄僅適用於該表,而不是一個有效的答案 – diEcho 2011-05-10 12:32:07

+1

所以它必須能夠適用於任何其他?它與Ravichandran的桌子一起工作,如果他需要申請別的東西,他會知道該怎麼做。 – hsz 2011-05-10 12:33:56

4

如果不能按日期排序,或者它contractId你可以使用這樣的事情:

$num = .... SELECT count(*) from contract_table // get the number of rows. 

SELECT * from contract_table LIMIT ($num-1), 1 
相關問題