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

SQL COUNT() 函數完整指南:語法、用法與實戰範例

     編輯:SQL 基礎

SQL COUNT() 函數完整指南


COUNT() 函數是 SQL 中最常用的聚合函數之一,用於返回符合指定條件的資料行數。無論是統計總筆數、特定欄位非空值數量,還是計算不重複值的個數,COUNT() 都能輕鬆勝任。


核心語法與三種主要用法

1. COUNT(column_name) - 統計特定欄位非空值

此語法會計算指定欄位中 非 NULL 的值的數量。NULL 值會被自動忽略不計入統計。

SELECT COUNT(column_name) FROM table_name;

2. COUNT(*) - 統計資料表總列數

這是最常用的寫法,返回資料表中的總記錄數,包含所有 NULL 值。效能通常優於 COUNT(欄位名),因為不需檢查特定欄位是否為空。

SELECT COUNT(*) FROM table_name;

3. COUNT(DISTINCT column_name) - 統計不重複值

用於計算指定欄位中 唯一值 的數量,自動去除重複資料。注意:此語法支援 Oracle 和 SQL Server,但 不支援 Microsoft Access。

SELECT COUNT(DISTINCT column_name) FROM table_name;

範例資料庫:access_log 存取記錄表

本教學使用 RUNOOB 範例資料庫中的 access_log 表進行示範,資料結構如下:

+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
| 1   | 1       | 45    | 2016-05-10 |
| 2   | 3       | 100   | 2016-05-13 |
| 3   | 1       | 230   | 2016-05-14 |
| 4   | 2       | 10    | 2016-05-14 |
| 5   | 5       | 205   | 2016-05-14 |
| 6   | 4       | 13    | 2016-05-15 |
| 7   | 3       | 220   | 2016-05-15 |
| 8   | 5       | 545   | 2016-05-16 |
| 9   | 3       | 201   | 2016-05-17 |
+-----+---------+-------+------------+

實戰範例演示

範例 1:COUNT(column_name) - 計算特定站點總訪問量

統計 site_id = 3 的訪問記錄筆數(針對 count 欄位非空值):

SELECT COUNT(count) AS nums FROM access_log
WHERE site_id = 3;

範例 2:COUNT(*) - 取得資料表總記錄數

查詢 access_log 表的總筆數:

SELECT COUNT(*) AS nums FROM access_log;

執行結果如下圖所示:

範例 3:COUNT(DISTINCT column_name) - 統計不同站點數量

計算有多少個不同的 site_id:

SELECT COUNT(DISTINCT site_id) AS nums FROM access_log;

執行結果如下圖所示:



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