একই কোয়েরিতে ০ এবং ০-য়ে বড় মানগুলো আলাদা আলাদা গণনা করতে CASE স্টেটমেন্ট ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (Number INT);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable VALUES(10), (0), (20), (50), (0), (0), (40);
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+--------+ | Number | +--------+ | 10 | | 0 | | 20 | | 50 | | 0 | | 0 | | 40 | +--------+
০-য়ে বড় এবং ০-এর সংখ্যা গণনা করার কোয়েরি:
mysql> SELECT
SUM(CASE WHEN Number > 0 THEN 1 ELSE 0 END) AS TotalValueWhichIsGreaterThanZero,
SUM(CASE WHEN Number = 0 THEN 1 ELSE 0 END) AS TotalValueWhichIsEqualToZero
FROM DemoTable WHERE Number >= 0;
আউটপুট:
+----------------------------------+------------------------------+ | TotalValueWhichIsGreaterThanZero | TotalValueWhichIsEqualToZero | +----------------------------------+------------------------------+ | 4 | 3 | +----------------------------------+------------------------------+
ব্যাখ্যা:
CASE WHEN Number > 0 THEN 1 ELSE 0 END: ০-য়ে বড় হলে ১, নয়면 ০।SUM(...): সকল ১ যোগ করে মোট সংখ্যা বের করে।- দুইটি CASE একসাথে চলেছে।
সরল পদ্ধতি (MySQL 8.0+): COUNT(CASE WHEN Number > 0 THEN 1 END) — ELSE ০ লিখতে হয় না, NULL হলে COUNT গণনা করে না।