[SQL]利用簡單的語法來做自動流水編號

利用簡單的語法來做自動流水編號

源起~
以前我要在資料呈現在表格裡時,希望前面可以有流水編號,我都會利用程式來處理這個部份,用程式處理是蠻簡單的,但就是多一個「要寫程式」的步驟,所以接續上次使用的表格,我希望呈現的是資料經過條件選擇之後,呈現某部門的人員,並再由以薪資大到小排序,每列前面加上「第1名」、「第2名」、「第N名」的字樣。

※此做法有一個先決要求,一定要排序,而且排序的關鍵值要能排得出絕對大小(廢話)。

以下是尚未整理的資料:

eno
name
dpno
salary
A001
A
D1
25
B001
B
D2
10
C001
C
D1
10
D001
D
D3
20
E001
E
D2
25
F001
F
D3
10
S001
S
D2
20

 

以下是我希望利用「單純」的SQL語法來呈現的資料(欲顯示D2部門):

sn
eno
name
dpno
salary
第1名
E001
E
D2
25
第2名
S001
S
D2
20
第3名
B001
B
D2
10

 

語法範例:

說明:重點是和自己比較,外面的條件一樣要帶到裡面,最後因為我要顯示字串,因此需要轉型。

※此範例應用於SQL2000以下的版本,因為SQL2005有涵數可以直接使用。

感謝志興提供。

詳情請參閱微軟的教學也有提到此方法。

 


聰明人會抓住每一次機會,更聰明的人會不斷創造新機會。
每一秒都有千萬種可能,包括奇蹟!

技術永遠不是問題!

座右銘:有電腦的地方,就找得到我!!