2014-07-23 139 views
0

誰可以幫我查詢?火鳥查詢選擇前一行

這裏是表格的截圖。

enter image description here

我要計算兩個日期之間的範圍/分鐘。 我的想法是將FORMATTED_DATEMODIFIED的第二行減去FORMATTED_DATEMODIFIED的第一行,依此類推。我想從前一行中減去日期。

任何人都可以提供幫助嗎?非常感謝你!!

+0

截圖是不夠的。您需要至少提供數據類型信息。但是IIRC,FireBird開箱即用是非常標準的SQL 92,並且它沒有提供任何方法來評估結果集的先前行(如MS-SQL Server或其他引擎)上的表達式。 – Frazz

+0

TESTERID(VARCHAR),FALSE_STATUS(VARCHAR)和FORMATTED_DATEMODIFIED(DATE) – aiipee

+0

對於Firebird 2.5及更早版本,這並不容易;火鳥3.0將添加窗口功能,但它會被釋放一段時間。 –

回答

0

也許這樣的事情會幫助你

SELECT 
CAST (
(SELECT FIRST 1 TT2.FORMATTED_DATEMODIFIED 
    FROM TEST_TABLE TT2 
    WHERE TT2.FORMATTED_DATEMODIFIED > TT.FORMATTED_DATEMODIFIED 
    ORDER BY TT.FORMATTED_DATEMODIFIED) AS TIME) 
    - CAST(TT.FORMATTED_DATEMODIFIED AS TIME) AS DIFF_IN_SECONDS, 

    TT.FORMATTED_DATEMODIFIED AS FOUND_TIMESTAMP, 

    (SELECT FIRST 1 TT2.FORMATTED_DATEMODIFIED 
    FROM TEST_TABLE TT2 
    WHERE TT2.FORMATTED_DATEMODIFIED > TT.FORMATTED_DATEMODIFIED 
    ORDER BY TT.FORMATTED_DATEMODIFIED) AS NEXT_TIMESTAMP 

FROM TEST_TABLE TT 
ORDER BY TT.FORMATTED_DATEMODIFIED 

/加斯帕H.