2016-08-18 6 views
0

の行をシフトする方法これは私の第一列レコードが静的であるが、私の第二の列のレコードがシフトアップされている場合、以下のように私は2つの計算列を使用して出力をしたい元のテーブルは、2つの列

Name Marks_Original 
Anil 10 
Ravi 20 
Pooja 30 
Sheela 40 
Rohit 50 
Vijay 60 

ですそして

Name Marks_1 Marks_2 
Anil 0  20 
Ravi 10  30 
Pooja 20  40 
Sheela 30  50 
Rohit 40  60 
Vijay 50  0 
+0

"ORDER BY Marks_Original"としますか? –

+0

大きなサンプルデータセットと期待される出力を提供し、質問を明確にする必要があります。何が与えられているかによって、あなたのデータに加えられた前提は、あなたがリストアップした出力をもたらす答えにつながる可能性がありますが、解決策が与えられた後にはあなたの問題を解決することはできません。 – scsimon

+0

ここから始めましょう。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

答えて

1

第1列に各ダウン

Select * 
     ,Marks_1 = Lag(Marks_Original,1,0) over (Order By Marks_Original) 
     ,Marks_2 = lead(Marks_Original,1,0) over (Order By Marks_Original) 
From YourTable 
Order By Marks_Original 
(シーケンスがMarks_Originalであると仮定して)窓関数を試します

返品

Name Marks_Original Marks_1 Marks_2 
Anil 10    0  20 
Ravi 20    10  30 
Pooja 30    20  40 
Sheela 40    30  50 
Rohit 50    40  60 
Vijay 60    50  0 
関連する問題