Как написать запрос, который выводит номер строки в виде столбца?

Как написать запрос, который выводит номер строки в виде столбца? Это DB2 SQL на iSeries.

например, если у меня есть

таблица Beatles:

John
Paul
George
Ringo

и я хочу написать инструкцию, не записывая процедуру или представление, если это возможно, что дает мне

1 John
2 Paul
3 George
4 Ringo

Ответ 1

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

Ответ 2

Проверьте функцию row_number(); вы должны иметь возможность сделать это в DB2 через:

SELECT row_number(), first_name FROM beatles

Я почти уверен, что это не часть стандарта SQL, поэтому он вряд ли будет переносимым, если это будет проблемой.

Ответ 3

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