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

SQL Server查詢結果顯示行號:Identity函數法

     編輯:關於SqlServer

需求:查詢結果帶行號(1,2,3...),便於分頁或顯示。

標準技巧:SELECT INTO + IDENTITY

-- 1. 將結果連同行號存入暫存表
SELECT no = IDENTITY(INT, 1, 1), * INTO #temptable FROM TableName -- ORDER BY SortField

-- 2. 從暫存表查詢(可加行號篩選實現分頁)
SELECT * FROM #temptable -- WHERE no >= 6 AND no < 10

-- 3. 清理
DROP TABLE #temptable

說明

  • IDENTITY(INT, 1, 1):種子1,遞增1,自動產生連續行號。
  • 暫存表#temptable為Session級,自動清理,無併發衝突。
  • 若需全域行號跨Session,改用##temptable或永久表。
  • SQL 2005+建議改用ROW_NUMBER() OVER (ORDER BY ...)窗口函數,無需暫存表,效能更優。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved