利用簡單的語法來做自動流水編號
源起~
以前我要在資料呈現在表格裡時,希望前面可以有流水編號,我都會利用程式來處理這個部份,用程式處理是蠻簡單的,但就是多一個「要寫程式」的步驟,所以接續上次使用的表格,我希望呈現的是資料經過條件選擇之後,呈現某部門的人員,並再由以薪資大到小排序,每列前面加上「第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有涵數可以直接使用。
感謝志興提供。
詳情請參閱微軟的教學也有提到此方法。
聰明人會抓住每一次機會,更聰明的人會不斷創造新機會。
每一秒都有千萬種可能,包括奇蹟!
技術永遠不是問題!
座右銘:有電腦的地方,就找得到我!!