如何编写将行号作为列输出的查询?这是iSeries上的DB2 SQL。
例如,如果我有
表披头士:John
Paul
George
Ringo
我想写一个声明,如果可能的话,不写一个程序或视图,这给了我
1 John
2 Paul
3 George
4 Ringo
答案 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;