নোট: আমরা অনুমান করছি একটি ডেটাবেস DBNAME এবং একটি টেবিল tableName তৈরি করা আছে।
MySQL কোয়েরি দিয়ে একটি নির্দিষ্ট কলামের সর্বোচ্চ মান ধারণকারী সারি ফেচ করার পদ্ধতি:
এটি সাবকোয়েরি দিয়ে করা যায়। এখানে colName3-এর সর্বোচ্চ মান ফেচ করা হচ্ছে:
কোয়েরি
SELECT colName1, colName2, colName3 FROM tableName WHERE colName3 = (SELECT MAX(colName3) FROM tableName);
আউটপুট
+--------------+--------------+--------------+ | colName1 | colName2 | colName3 | +--------------+--------------+--------------+ | 0003 | D | 20.05 | +--------------+--------------+--------------+
অন্যান্য সমাধান:
- LEFT JOIN ব্যবহার করা।
- নির্দিষ্ট কলাম দ্বারা সকল সারি ডিসেন্ডিং অর্ডারে সর্ট করে
LIMITক্লজ ব্যবহার করা (MySQL-স্পেসিফিক)।
SELECT colName1, colName2, colName3 FROM tableName WHERE colName3 = (SELECT MAX(colName3) FROM tableName); SELECT s1.colName1, s1.colName2, s1.colName3 FROM tableName s1 LEFT JOIN tableName s2 ON s1.colName3 < s2.colName3 WHERE s2.colName1 IS NULL; SELECT colName1, colName2, colName3 FROM tableName ORDER BY colName3 DESC LIMIT 1;
যদি একটি কলামে একাধিক সর্বোচ্চ মান থাকে যেগুলোর ভ্যালু একই, তবে LIMIT ক্লজ শুধু একটি কলাম ভ্যালু দেখাবে।