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

SQL 查詢符合條件記錄總數:COUNT 用法完全指南

     編輯:關於SqlServer

COUNT 基本語法

1. 統計資料列總數

SELECT COUNT(*) FROM TableName;

2. 統計特定欄位非 NULL 個數

SELECT COUNT(ColumnName) FROM TableName;

3. 條件篩選統計

SELECT COUNT(*) FROM TableName WHERE Column = 'Value';

動態 SQL 建構技巧

應用程式中常需根據使用者輸入動態組裝查詢:

DECLARE @sql NVARCHAR(MAX) = 'SELECT COUNT(*) FROM Article a WHERE 1=1 ';

IF @Title IS NOT NULL AND @Title <> ''
    SET @sql = @sql + 'AND a.Title LIKE ''%'' + @Title + ''%'' ';

-- 使用 sp_executesql 參數化執行,防止注入
EXEC sp_executesql @sql, N'@Title NVARCHAR(100)', @Title = @Title;

關鍵點解析

  • WHERE 1=1:永真條件,便於後續 AND 串接,無需判斷首條件
  • a. 前綴:資料表別名,提升可讀性與避免欄位衝突
  • 參數化查詢:使用 sp_executesql 而非字串拼接,防 SQL 注入

效能建議

  • 大量資料統計考慮索引檢視或觸發器維護計數表
  • COUNT(*) vs COUNT(1):現代版本無差異,優化器同等處理
  • 避免 COUNT(DISTINCT Column) 在大表無索引欄位上使用

總結

COUNT(*) 配合 WHERE 1=1 動態組裝是條件統計的標準模式,搭配參數化執行兼顧安全與效能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved