SQL COUNT() Function

🔹 تعریف

  • تابع ()COUNT تعداد رکوردها (ردیف‌ها) یا مقادیر یک ستون را برمی‌گرداند.

  • می‌تواند روی همه رکوردها (COUNT(*)) یا فقط روی یک ستون خاص اعمال شود.

🔹 حالت‌های استفاده

1️⃣ شمارش همه رکوردها

SELECT COUNT(*) AS TotalCustomers FROM Customers;

🔹 تعداد کل رکوردهای جدول Customers را برمی‌گرداند (حتی اگر ستون‌ها NULL باشند).

2️⃣ شمارش یک ستون خاص

SELECT COUNT(Email) AS TotalWithEmail FROM Customers;

🔹 فقط ردیف‌هایی را می‌شمارد که ستون Email مقدار NULL نداشته باشند.

3️⃣ شمارش مقادیر یکتا (DISTINCT)

SELECT COUNT(DISTINCT City) AS UniqueCities FROM Customers;

🔹 تعداد شهرهای متفاوت (Unique) مشتریان را برمی‌گرداند.

🔹 ترکیب با GROUP BY

مثال: شمارش تعداد مشتریان در هر شهر 👇

SELECT City, COUNT(CustomerID) AS NumCustomers FROM Customers GROUP BY City;

خروجی نمونه:

CityNumCustomers
Tehran5
Shiraz3
Isfahan2

🔹 ترکیب با HAVING

فیلتر کردن نتایج بعد از شمارش:

SELECT City, COUNT(CustomerID) AS NumCustomers FROM Customers GROUP BY City HAVING COUNT(CustomerID) > 2;

🔹 فقط شهرهایی که بیشتر از ۲ مشتری دارند نمایش داده می‌شوند.

🔹 مثال واقعی

جدول Orders:

OrderIDCustomerIDAmount
11100
22200
31150
43300

کوئری:

SELECT CustomerID, COUNT(OrderID) AS TotalOrders FROM Orders GROUP BY CustomerID;

🔹 خروجی:

CustomerIDTotalOrders
12
21
31


✅ خلاصه:

  • (*)COUNT → شمارش همه ردیف‌ها.

  • COUNT(column) → شمارش فقط مقادیری که NULL نباشند.

  • COUNT(DISTINCT column) → شمارش مقادیر یکتا.

  • خیلی پرکاربرد همراه GROUP BY و HAVING.