আমি এমন একটি GROUP BY
ধারা নিয়ে একটি ক্যোয়ারী তৈরি করছি যা কেবলমাত্র একটি নির্দিষ্ট শর্তের ভিত্তিতে রেকর্ড গণনা করার দক্ষতার প্রয়োজন (যেমন কেবলমাত্র রেকর্ডগুলি গণনা করুন যেখানে নির্দিষ্ট কলামের মান 1 এর সমান হয়)।
SELECT UID,
COUNT(UID) AS TotalRecords,
SUM(ContractDollars) AS ContractDollars,
(COUNTIF(MyColumn, 1) / COUNT(UID) * 100) -- Get the average of all records that are 1
FROM dbo.AD_CurrentView
GROUP BY UID
HAVING SUM(ContractDollars) >= 500000
COUNTIF()
লাইন স্পষ্টত ব্যর্থ যেহেতু কোন নেটিভ SQL এর ফাংশন বলা হয় COUNTIF
, কিন্তু এখানে ধারণা সব সারি MyColumn জন্য মান '1' আছে শতাংশ নির্ধারণ করা হয়।
এমএস এসকিউএল 2005 পরিবেশে এটি কীভাবে সঠিকভাবে প্রয়োগ করা যায় সে সম্পর্কে কোনও চিন্তাভাবনা?
ISNULL
পরিবর্তে আপনি যা করতে পারেনCASE WHEN myColumn IS NULL
বা ব্যবহার করতে পারেনifnull
( স্ট্যাকওভারফ্লো.com / a / 799406 / 1861346 )