কম্পিউটার টিউটোরিয়াল

MySQL-এ নির্দিষ্ট মান 가진 কলামের সংখ্যা গণনা করা

MySQL-এ একটি রোয়ে একাধিক কলামের নির্দিষ্ট মান (যেমন ১) কতবার এসেছে তা গণনা করতে SUM() ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

SELECT 
    SUM(col1 + col2 + col3) AS total_ones,
    SUM(col1 AND col2 AND col3) AS rows_with_all_ones
FROM yourTableName;

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo36 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    value1 INT,
    value2 INT,
    value3 INT
);

ডেটা ইনসার্ট:

INSERT INTO demo36(value1, value2, value3) VALUES (1,0,0), (1,0,1), (1,1,1), (0,1,0), (1,1,0);

টেবিলের ডেটা:

+----+--------+--------+--------+
| id | value1 | value2 | value3 |
+----+--------+--------+--------+
| 1  | 1      | 0      | 0      |
| 2  | 1      | 0      | 1      |
| 3  | 1      | 1      | 1      |
| 4  | 0      | 1      | 0      |
| 5  | 1      | 1      | 0      |
+----+--------+--------+--------+

কোয়েরি

SELECT 
    SUM(value1 + value2 + value3) AS Total_Number_Of_1,
    SUM(value1 AND value2 AND value3) AS Total_Number_Of_Rows_With_1
FROM demo36;

আউটপুট

+-------------------+-----------------------------+
| Total_Number_Of_1 | Total_Number_Of_Rows_With_1 |
+-------------------+-----------------------------+
| 9                 | 1                           |
+-------------------+-----------------------------+

ব্যাখ্যা:

  • value1 + value2 + value3: প্রতিটি রোয়ে ১-এর যোগফল (০ বা ১)। সব রোয়ের যোগফল = ৯।
  • value1 AND value2 AND value3: লজিক্যাল AND। তিনটি কলামই ১ হলে ১, অন্যথায় ০। শুধু ৩ নম্বর রোতে তিনটিই ১, তাই ফলাফল ১।

নোট: MySQL-এ TRUE = 1, FALSE = 0। তাই বুলিয়ান এক্সপ্রেশন সরাসরি SUM-এ ব্যবহার করা যায়।

  1. MySQL-এ GREATEST() দিয়ে দুটি কলামের মধ্যে সর্বোচ্চ মান অনুযায়ী অর্ডার করা

  2. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল দিয়ে দুটি কলামের মান সোয়াপ করা

  3. Java-এ JDBC ResultSetMetaData ব্যবহার করে MySQL টেবিলের কলাম সংখ্যা বের করা

  4. MySQL-এ নির্দিষ্ট মানের চেয়ে বড় মানগুলো সিলেক্ট করা