首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 查詢產生流水號:IDENTITY 函數搭配暫存表

     編輯:關於SqlServer

快速產生行號

SELECT IDENTITY(INT, 1, 1) AS RowNo, *
INTO #TempTable
FROM TableName
-- ORDER BY SortField  -- 如需排序先序

SELECT * FROM #TempTable
-- WHERE RowNo BETWEEN 6 AND 10  -- 分頁篩選

DROP TABLE #TempTable

原理

  • IDENTITY(INT, 1, 1) 在 SELECT INTO 時產生遞增整數。
  • 結果寫入暫存表 #TempTable,後續可直接查詢/篩選行號。

適用版本

SQL Server 2000/2005/2008 通用。SQL Server 2005+ 建議改用 ROW_NUMBER() OVER (ORDER BY ...),無需暫存表,效能更好。

現代寫法 (2005+)

SELECT ROW_NUMBER() OVER (ORDER BY SortField) AS RowNo, *
FROM TableName
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved