MySQL-এ দুটি কলামের যোগফল (Value1 + Value2) সর্বোচ্চ হওয়া রো বের করতে সাবকোয়েরিতে MAX(Value1 + Value2) ব্যবহার করে মূল কোয়েরিতে ফিল্টার করা হয়।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable1587 (Value1 INT, Value2 INT);
২. ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable1587 VALUES(30, 50), (80, 90), (40, 67);
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable1587;
আউটপুট:
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 30 | 50 |
| 80 | 90 |
| 40 | 67 |
+--------+--------+
৪. সর্বোচ্চ যোগফল বিশিষ্ট রো খুঁজুন
mysql> SELECT * FROM DemoTable1587
-> WHERE Value1 + Value2 = (SELECT MAX(Value1 + Value2) FROM DemoTable1587);
৫. ফলাফল
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 80 | 90 | -- যোগফল ১৭০ (সর্বোচ্চ)
+--------+--------+
বিকল্প পদ্ধতি (ORDER BY LIMIT):
SELECT * FROM DemoTable1587 ORDER BY (Value1 + Value2) DESC LIMIT 1;
সাবকোয়েরির সুবিধা: একাধিক রো একই সর্বোচ্চ যোগফল থাকলে সবগুলো দেখাবে। LIMIT 1 শুধু একটি দেখাবে।
পারফরম্যান্স টিপস: বড় টেবিলে Value1 + Value2 এক্সপ্রেশন ইনডেক্স ব্যবহার করতে পারে না। কম্পিউটেড কলাম বা জেনারেটেড কলাম (MySQL 5.7+) তৈরি করে সেটিতে ইনডেক্স দিন।