به دست آوردن تعداد رکورد های که هر کدام شرط خاصی رو دارند
با سلام من یک جدول دارم که در اون 4 فیلد از نوع بولین هست می خواستم تعداد رکورد هایی رو که هر کدوم جداگانه این شرط رو دارند به دست بیارم یعنی مثلا تعداد رکورد هایی که فیلد 1 اون ترو هست و تعداد رکورد هایی که فیلد 2 ترو هست و تعداد رکورد هایی که فیلد 3 ترو هست و ... یعنی می خواهم 4 تا مقدار به من برگرده که نشون دهنده رکوردهایی هستند که هر کدوم یکی از این فیلدها true هست ممنون میشم راهنمایی کنید
نقل قول: به دست آوردن تعداد رکورد های که هر کدام شرط خاصی رو دارند
من زیاد فکر نکردم ساده ترین روش رو میگم:
SELECT ( SELECT COUNT(*)
FROM dbo.TF
WHERE F1 = 1
) F1 ,
( SELECT COUNT(*)
FROM dbo.TF
WHERE F2 = 1
) F2 ,
( SELECT COUNT(*)
FROM dbo.TF
WHERE F3 = 1
) F3 ,
( SELECT COUNT(*)
FROM dbo.TF
WHERE F4 = 1
) F4
نقل قول: به دست آوردن تعداد رکورد های که هر کدام شرط خاصی رو دارند
سلام.
از اونجایی که فیلدها فقط مقادیر 0 و یا 1 دارند احتمالا بتونید به راحتی جمع مقادیر رو حساب کنید:
select Sum(f1), SUM(f2), SUM(f3), SUM(f4)
from table
اینطوری جدول هم فقط یک بار پیمایش میشه و طبیعتا سرعت اجرای کوئری بیشر خواهد بود.