SQL COUNT() Function


ฟังก์ชัน COUNT() ส่งคืนจำนวนแถวที่ตรงกับเกณฑ์ที่ระบุ

ตัวอย่าง

ค้นหาจำนวนผลิตภัณฑ์ทั้งหมดในตาราง Products :

SELECT COUNT(*)
FROM Products;


รูปแบบ (Syntax)

SELECT COUNT(column_name)
FROM table_name
WHERE condition;


Demo Database

ด้านล่างนี้คือการเลือกจาก ตาราง Products ที่ใช้ในตัวอย่าง:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 – 12 oz bottles19
3Aniseed Syrup1212 – 550 ml bottles10
4Chef Anton’s Cajun Seasoning2248 – 6 oz jars22
5Chef Anton’s Gumbo Mix2236 boxes21.35


การเพิ่ม Where Clause

คุณสามารถเพิ่ม  WHERE clause เพื่อระบุเงื่อนไข:

ตัวอย่าง

ค้นหาจำนวนสินค้าที่ Price มากกว่า 20:

SELECT COUNT(ProductID)
FROM Products
WHERE price > 20;


การระบุ Column

สามารถระบุชื่อคอลัมน์แทนสัญลักษณ์ (*)ได้ หากระบุคอลัมน์แทน(*)ค่า NULL จะไม่ถูกนับ

ตัวอย่าง

ค้นหาจำนวนผลิตภัณฑ์ที่ ProductName ไม่เป็นโมฆะ:

SELECT COUNT(ProductName)
FROM Products;

น่าเสียดายที่ตารางProductsไม่มีค่า NULL ใดๆ แต่เราสามารถแก้ไขได้ รันคำสั่ง SQL ด้านล่าง และรันตัวอย่างด้านบนอีกครั้งเพื่อดูผลลัพธ์

ตัวอย่าง

แทรกค่า NULL เพื่อให้เข้าใจตัวอย่างด้านบนได้ดีขึ้น:

UPDATE Products
SET ProductName = NULL
WHERE ProductName = 'Chang';


ละเว้นรายการที่ซ้ำกัน

คุณสามารถละเว้นรายการที่ซ้ำกันได้โดยใช้ DISTINCT คำสำคัญใน COUNT ฟังก์ชัน หาก DISTINCT มีการระบุแถวที่มีค่าเดียวกันสำหรับคอลัมน์ที่ระบุจะถูกนับเป็นหนึ่ง

ตัวอย่าง

ในตารางมีราคา Products ต่างกันกี่แบบ :

SELECT COUNT(DISTINCT Price)
FROM Products;


ใช้นามแฝง

ตั้งชื่อคอลัมน์ที่นับโดยใช้ AS คำสำคัญ

ตัวอย่าง

ตั้งชื่อคอลัมน์ว่า “number of records”:

SELECT COUNT(*) AS [number of records]
FROM Products;