توابع COUNT() SQL

عملکرد COUNT() تعداد رکوردهایی که با شرط مشخص شده مطابقت دارند را بازمی‌گرداند.

دستور زبان SQL COUNT()

SQL COUNT(column_name) دستور زبان

COUNT(column_name) عملکرد بازگشت تعداد مقادیر یک ستون را مشخص می‌کند (NULL را شامل نمی‌کند):

SELECT COUNT(column_name) FROM table_name

دستور زبان SQL COUNT(*)

عملکرد COUNT(*) تعداد رکوردهای موجود در جدول را بازمی‌گرداند:

SELECT COUNT(*) FROM table_name

SQL COUNT(DISTINCT column_name) دستور زبان

COUNT(DISTINCT column_name) عملکرد بازگشت تعداد مختلف‌ترین مقادیر یک ستون را مشخص می‌کند:

SELECT COUNT(DISTINCT column_name) FROM table_name

توضیح:COUNT(DISTINCT) در ORACLE و Microsoft SQL Server کاربرد دارد، اما نمی‌تواند در Microsoft Access استفاده شود.

مثال SQL COUNT(column_name)

ما جدول زیر را داریم "Orders":

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

حالا، ما می‌خواهیم تعداد سفارشات کاربر "Carter" را محاسبه کنیم.

ما از جمله زیر استفاده می‌کنیم SQL:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Carter'

نتیجه جملات SQL بالا 2 است، زیرا کاربر Carter 2 سفارش دارد:

CustomerNilsen
2

مثال SQL COUNT(*)

اگر ما جملات WHERE را حذف کنیم، مثلاً:

SELECT COUNT(*) AS NumberOfOrders FROM Orders

نتایج مشابه این است:

NumberOfOrders
6

این تعداد کل ردیف‌های جدول است.

مثال SQL COUNT(DISTINCT column_name)

حالا، ما می‌خواهیم تعداد مشتریان مختلف در جدول "Orders" را محاسبه کنیم.

ما از جمله زیر استفاده می‌کنیم SQL:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

نتایج مشابه این است:

NumberOfCustomers
3

این تعداد مختلف مشتریان (Bush, Carter و Adams) در جدول "Orders" است.