شمارش (Count)
در SQL، «شمارش (COUNT)» تعداد ردیف ها را می دهد. مثل شمردن برگه های امتحان. حالا با چند مثال ساده، شمارش SQL را سریع یاد می گیری.
تابع COUNT در SQL چیست؟
تابع «COUNT» تعداد ردیف های مطابق شرط را برمی گرداند. اگر از ستاره استفاده کنی، همه ردیف ها شمرده می شوند.
SELECT COUNT(*)
FROM Products;
قالب دستوری (Syntax)
ستون را مشخص کن، سپس منبع جدول و در صورت نیاز شرط بده.
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
شمارش ستون خاص و NULL
وقتی نام ستون می دهی، مقدارهای خالی «NULL» شمرده نمی شوند. بنابراین نتیجه ممکن است کمتر از COUNT(*) باشد.
SELECT COUNT(ProductName)
FROM Products;
افزودن شرط با WHERE
می توانی تنها ردیف های مدنظرت را بشماری. شرط بده و سپس COUNT بگیر.
SELECT COUNT(ProductID)
FROM Products
WHERE Price > 20;
حذف مقادیر تکراری با DISTINCT
اگر «DISTINCT» بدهی، مقدارهای تکراری یک بار شمرده می شوند. این برای شمارش دسته های یکتا عالی است.
SELECT COUNT(DISTINCT Price)
FROM Products;
اسم مستعار ستون با AS
با «AS» برای ستون خروجی نام بگذار. خوانایی بهتر می شود.
SELECT COUNT(*) AS [Number of records]
FROM Products;
COUNT همراه GROUP BY
با «GROUP BY» می توانی برای هر گروه، تعداد ردیف ها را بگیری. مثلا تعداد محصولات هر دسته.
SELECT COUNT(*) AS [Number of records],
CategoryID
FROM Products
GROUP BY CategoryID;
گام های عملی
- تصمیم بگیر COUNT(*) یا COUNT(ستون) می خواهی.
- در صورت نیاز شرط WHERE اضافه کن.
- اگر گروهی می خواهی، GROUP BY را تنظیم کن.
نکته: COUNT(ستون) مقدارهای NULL را نمی شمارد؛ اما COUNT(*) همه ردیف ها را می شمارد.
نکته: برای یادگیری پیوستگی، به کمینه و بیشینه و توابع تجمعی سر بزن.
جمع بندی سریع
- COUNT(*) همه ردیف ها را می شمارد.
- COUNT(ستون) NULL را نمی شمارد.
- با DISTINCT تکراری ها حذف می شوند.
- با AS نام خروجی را واضح کن.
- با GROUP BY، شمارش برای هر گروه است.