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      
4

1 回答 1

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'
于 2013-04-15T12:48:09.547 回答