SQL Server數據庫如何將當前行和上下行合并查詢
在SQL Server數據庫查詢過程中,我們有時候需要在查詢當前行時,同時將上一(幾)行或下一(幾)行數據與當前行合并到一行,進行合并查詢。便于做計算或查詢顯示。本文我們給出了一個例子,通過這個例子我們來了解一下如何把當前行、上一行和下一行的數據合并在一起進行查詢。
本例子的代碼:
- with t as
- (
- select top 1000 * from 客戶資金表名
- where 客戶名稱='北京科技公司'
- order by 創建時間
- ),t1 as
- (
- SELECT top 1000 當前行=ROW_NUMBER() OVER(ORDER BY 創建時間),* FROM t
- ),t2 as
- (
- SELECT top 1000 當前行=ROW_NUMBER() OVER(ORDER BY 創建時間),* FROM t
- )
- select
- t1.客戶名稱,t1.結余資金帳 as 本期結余資金帳,t1.創建時間
- t2.結余資金帳 as 上期結余資金帳
- from t1,t2 where t1.當前行=(t2.當前行+1)
如果您還是不太明白上面的代碼,沒有關系,下圖給出了上面代碼的詳細解釋,相信您一定會看懂的。
相信通過上面的代碼示例和圖中的代碼解釋,我們一定能明白這一過程是怎么實現的了。關于SQL Server數據庫當前行及上一行、下一行合并查詢的知識就介紹到這里了,如果您想了解更多的關于SQL Server數據庫的知識,可以看一下這里的文章:http://database.51cto.com/sqlserver/,相信一定會帶給您收獲的!
【編輯推薦】