PDA

View Full Version : به دست آوردن تعداد رکورد های که هر کدام شرط خاصی رو دارند



sara_aryanfar
چهارشنبه 13 دی 1396, 17:16 عصر
با سلام من یک جدول دارم که در اون 4 فیلد از نوع بولین هست می خواستم تعداد رکورد هایی رو که هر کدوم جداگانه این شرط رو دارند به دست بیارم یعنی مثلا تعداد رکورد هایی که فیلد 1 اون ترو هست و تعداد رکورد هایی که فیلد 2 ترو هست و تعداد رکورد هایی که فیلد 3 ترو هست و ... یعنی می خواهم 4 تا مقدار به من برگرده که نشون دهنده رکوردهایی هستند که هر کدوم یکی از این فیلدها true هست ممنون میشم راهنمایی کنید

parvizwpf
چهارشنبه 13 دی 1396, 19:25 عصر
من زیاد فکر نکردم ساده ترین روش رو میگم:
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

مهرداد صفا
پنج شنبه 19 بهمن 1396, 19:09 عصر
سلام.
از اونجایی که فیلدها فقط مقادیر 0 و یا 1 دارند احتمالا بتونید به راحتی جمع مقادیر رو حساب کنید:

select Sum(f1), SUM(f2), SUM(f3), SUM(f4)
from table


اینطوری جدول هم فقط یک بار پیمایش میشه و طبیعتا سرعت اجرای کوئری بیشر خواهد بود.