تابع count در SQL
تابع COUNT تعداد سطرهایی را بر می گرداند که در شرط صدق می کنند.
فرم تابع (COUNT(column_name
تابع (COUNT(column_name تعداد مقادیر ستون مشخص شده را بر می گرداند (مقدار NULL شمرده نمی شود.)
فرم تابع (*)COUNT
تابع (*)COUNT تعداد رکوردهای یک جدول را بر می گرداند.
فرم تابع ( COUNT(DISTINCT column_name
تابع (COUNT(DISTINCT column_name تعداد مقادیر متمایز (داده های تکراری را یک بار حساب می کند) از یک ستون را بر می گرداند.
تابع (COUNT(DISTINCT در ORACLE و Microsoft SQL Server کار می کند و در Microsoft Access کار نمی کند.
مثالی از ( COUNT(column_name
جدول Orders را در زیر داریم:
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/11/12 | 1000 | Hansen |
2 | 2008/10/23 | 1600 | Nilsen |
3 | 2008/09/02 | 700 | Hansen |
4 | 2008/09/03 | 300 | Hansen |
5 | 2008/08/30 | 2000 | Jensen |
6 | 2008/10/04 | 100 | Nilsen |
می خواهیم تعداد سفارشات مشتری با نام Nilsen را بیابیم:
از دستور زیر استفاده می کنیم:
WHERE Customer='Nilsen'
نتیجه دستور فوق عدد 2 خواهد بود زیرا مشتری با نام Nilsen در کل دو سفارش داده است.
CustomerNilsen |
---|
2 |
مثالی از (*)COUNT
اگر عبارت WHERE را از دستور بالا حذف کنیم، به این صورت:
نتیجه چنین خواهد بود:
NumberOfOrders |
---|
6 |
که تعداد کل سطرهای جدول را بر می گرداند.
مثالی از (COUNT(DISTINCT column_name
می خواهیم تعداد مشتریان را در جدول Orders به دست آوریم (داده های تکراری یک بار شمرده شوند.)
از دستور زیر استفاده می کنیم:
نتیجه چنین خواهد بود:
NumberOfCustomers |
---|
3 |
که تعداد مشتریان منحصر به فرد در جدول Orders می باشد.(Hansen, Nilsen, Jensen)
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه دادهSQLServer کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 42385
دیدگاهها
با سلام
اول تشکر می کنم از سایت پربار و آموزش های مفیدتون
سوالی داشتم :
اینکه چطور می تونم برای 2 جدول تابع count رو صدا بزنم ؟ طوری که تعداد ردیف های هر جدول را در 2 ستون مختلف نمایش دهد
برای وضوع بیشتر
مثلا ستون name از جدول a دارای 20 ردیف است و ستون name از جدول b دارای 10 ردیف
می خوام تعداد داده های این 2 ستون از 2 جدول مختلف را داشته باشم
این دستور جواب نمی ده
select count name as a.name, name as b.name
from a,b
پیشاپیش از راهنماییتون ممنونم