如何編寫將行號輸出爲列的查詢?這是iSeries上的DB2 SQL。如何編寫一個將行號輸出爲列的查詢?
例如,如果我有
表披頭士:
John
Paul
George
Ringo
,我想寫一個聲明,而無需編寫程序或視圖如果可能的話,這給了我
1 John
2 Paul
3 George
4 Ringo
如何編寫將行號輸出爲列的查詢?這是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
檢查out row_number()函數;你應該能夠通過這樣做在DB2:
SELECT row_number(), first_name FROM beatles
我幾乎可以肯定這是不是SQL標準的一部分了,所以它不可能是便攜式應該是有史以來是一個問題。
SELECT ROW_NUMBER() OVER(ORDER BY BEATLE_NAME) ROWNUM,BEATLE_NAME FROM BEATLES;
就是這樣。謝謝。值得一提的是,beatle_name部分的順序是可選的 – 2009-01-13 11:13:07