1. 程式人生 > >讓select查詢結果額外增加自增的偽序號列

讓select查詢結果額外增加自增的偽序號列

USE北風貿易;GO/* 方法一*/SELECT序號= (SELECT COUNT(客戶編號) FROM 客戶 AS LiMing                    WHERE LiMing.客戶編號<= Chang.客戶編號),客戶編號,公司名稱FROM客戶 AS Chang ORDER BY 1;GO/* 方法二: 使用SQL Server 2005 獨有的RANK() OVER () 語法*/SELECT RANK() OVER (ORDER BY 客戶編號 DESC) AS 序號,客戶編號,公司名稱FROM客戶;GO/* 方法三*/SELECT序號= COUNT(*), LiMing.客戶編號
, LiMing.公司名稱   FROM 客戶 AS LiMing, 客戶AS Chang   WHERE LiMing.客戶編號>= Chang.客戶編號   GROUP BY LiMing.客戶編號, LiMing.公司名稱   ORDER BY 序號;GO/* 方法四建立一個「自動編號」的欄位,然後將資料新增至一個區域性暫存資料表,然後由該區域性暫存資料表中,將資料選取出來,最後刪除該區域性暫存資料表*/SELECT序號= IDENTITY(INT,1,1),管道,程式語言,講師,資歷INTO #LiMingFROM問券調查一;GOSELECT * FROM #LiMing;GODROP
TABLE #LiMing;GO/*方法五使用 SQL Server 2005 獨有的ROW_NUMBER() OVER () 語法搭配 CTE (一般資料表表達式,就是 WITH 那段語法)選取序號2 ~ 4 的資料*/WITH排序後的圖書 AS(SELECT ROW_NUMBER() OVER (ORDER BY 客戶編號 DESC) AS 序號,客戶編號,公司名稱   FROM 客戶)SELECT * FROM 排序後的圖書WHERE序號 BETWEEN 2 AND 4;GO