如何编写将行号输出为列的查询?

时间:2009-01-13 10:53:57

标签: sql db2

如何编写将行号作为列输出的查询?这是iSeries上的DB2 SQL。

例如,如果我有

表披头士:

John
Paul
George
Ringo

我想写一个声明,如果可能的话,不写一个程序或视图,这给了我

1 John
2 Paul
3 George
4 Ringo

3 个答案:

答案 0 :(得分:25)

SELECT ROW_NUMBER() OVER (ORDER BY beatle_name ASC) AS ROWID, * FROM beatles

答案 1 :(得分:1)

查看row_number()函数;您应该能够通过以下方式在DB2中执行此操作:

SELECT row_number(), first_name FROM beatles

我几乎可以肯定这不是SQL标准的一部分,所以如果它成为一个问题,它就不可能是可移植的。

答案 2 :(得分:0)

SELECT ROW_NUMBER() OVER(ORDER BY BEATLE_NAME) ROWNUM,BEATLE_NAME FROM BEATLES;