14

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

例如,如果我有

表披头士:

John
Paul
George
Ringo

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

1 John
2 Paul
3 George
4 Ringo
4

3 回答 3

29
SELECT ROW_NUMBER() OVER (ORDER BY beatle_name ASC) AS ROWID, * FROM beatles
于 2009-01-13T11:08:53.213 回答
2

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

SELECT row_number(), first_name FROM beatles

不过,我几乎可以肯定这不是 SQL 标准的一部分,因此如果这是一个问题,它不太可能是可移植的。

于 2009-01-13T10:59:22.843 回答
0
SELECT ROW_NUMBER() OVER(ORDER BY BEATLE_NAME) ROWNUM,BEATLE_NAME FROM BEATLES;
于 2010-06-10T07:32:29.843 回答