2013-04-15 104 views
0

我想從沒有添加標識列的行位置添加列的查詢返回值。我不想在表中的絕對位置,但在查詢結果中的位置返回選擇查詢與行數

假設我有這樣的

My_TBL 
----------------------- 
FLD_A  FLD_B FLD_C 
a   A  t 
b   B  t 
c   C  p 
d   D  p 
..  .. 

,並選擇查詢的表是

select FLD_A,FLD_B from My_Tbl where FLD_C='p' 

FLD_A FLD_B 
----------------------- 
c   C  
d   D  

什麼我有在Db2中添加我的查詢來獲得每個行在該輸出計數?

POS  FLD_A FLD_B 
----------------------- 
1   c   C  
2   d   D  
+0

檢查此問題http://stackoverflow.com/questions/1079480/how-to-determine-position-of-row-in-sql-result-set,我希望這會回答你的問題。 – Torukmakto

回答

1

使用row_number()。它只會計算實際返回的行數。

select row_number() over (order by FLD_A,FLD_B) as POS, 
     FLD_A, 
     FLD_B 
    from My_Tbl 
    where FLD_C='p'