2014-02-20 30 views
2

我正在努力解決如何在行之間應用等級應用於用戶標識的日期應用程序; 下面的數據的例子;SQL - 應用程序之間的行之間的Datediff

UserID Order Number ScanDateStart ScanDateEnd Minute Difference Rank | Minute Difference Rank vs Rank+1 
    User1  10-24  10:20:00  10:40:00  20     1 | 5 
    User1  10-25  10:45:00  10:50:00  5     2 | 33 
    User1  10-26  11:12:00  11:45:00  33     3 | NULL 
    User2  10-10  00:09:00  00:09:20  20     1 | 4 
    User2  10-11  00:09:24  00:09:25  1     2 | 15 
    User2  10-12  00:09:40  00:10:12  32     3 | 3 
    User2  10-13  00:10:15  00:10:35  20     4 | NULL 

我在找的是如何編碼此表的最後一列。 該排名適用於ScanDateStart訂購的UserID。

基本上,我想知道等級1的ScanDateEnd之間的時間,以秩2的ScanDateStart,等等,但爲每個用戶....

欣賞(訂單處理等之間計算時間)幫助

+0

該行的Diff erence什麼是你用來生成這個查詢結果? –

回答

1

這可以通過在UserID列和Rank柱進行LEFT JOIN到同一個表來實現,加1

以下(簡化的)僞代碼應說明如何實現這一點:

SELECT R.UserID, 
     R.Rank, 
     R1.Diff 
    FROM Rank R 
    LEFT JOIN Rank R1 ON R1.UserID = R.UserID AND R1.Rank = R.Rank + 1 

實際上,你是顯示了UserID,並從當前行Rank,但是來自同一UserIDRank + 1

相關問題