Ответ 1
SELECT ROW_NUMBER() OVER (ORDER BY beatle_name ASC) AS ROWID, * FROM beatles
Как написать запрос, который выводит номер строки в виде столбца? Это DB2 SQL на iSeries.
например, если у меня есть
таблица Beatles:
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;