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


相關(guān)推薦




