如何编写将行号输出为列的查询?这是 iSeries 上的 DB2 SQL。
例如,如果我有
表披头士:
John
Paul
George
Ringo
我想写一个声明,如果可能的话,不写程序或视图,这给了我
1 John
2 Paul
3 George
4 Ringo
SELECT ROW_NUMBER() OVER (ORDER BY beatle_name ASC) AS ROWID, * FROM beatles
查看 row_number() 函数;您应该可以通过以下方式在 DB2 中执行此操作:
SELECT row_number(), first_name FROM beatles
不过,我几乎可以肯定这不是 SQL 标准的一部分,因此如果这是一个问题,它不太可能是可移植的。
SELECT ROW_NUMBER() OVER(ORDER BY BEATLE_NAME) ROWNUM,BEATLE_NAME FROM BEATLES;