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

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

MySQL-এ GREATEST() ফাংশন ব্যবহার করে একাধিক কলামের মধ্যে সর্বোচ্চ মান বের করে তার অনুযায়ী রেকর্ড সাজানো যায়।

উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable834( 
    Value1 int, 
    Value2 int 
); 
Query OK, 0 rows affected (1.50 sec)
mysql> insert into DemoTable834 values(10,20); 
Query OK, 1 row affected (0.11 sec) 
mysql> insert into DemoTable834 values(40,50); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into DemoTable834 values(20,24); 
Query OK, 1 row affected (0.29 sec) 
mysql> insert into DemoTable834 values(30,10); 
Query OK, 1 row affected (0.14 sec)

সকল রেকর্ড দেখানো

mysql> select * from DemoTable834;
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 10     | 20     |
| 40     | 50     |
| 20     | 24     |
| 30     | 10     |
+--------+--------+
4 rows in set (0.00 sec)

GREATEST(Value1, Value2) ডেসেন্ডিং অর্ডারে সাজানো

mysql> select * from DemoTable834 order by greatest(Value1,Value2) DESC;
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 40     | 50     |
| 30     | 10     |
| 20     | 24     |
| 10     | 20     |
+--------+--------+
4 rows in set (0.00 sec)

ব্যাখ্যা

Value1Value2GREATEST()অর্ডার (DESC)
405050১ম
301030২য়
202424৩য়
102020৪র্থ

GREATEST() vs LEAST()

  • GREATEST(val1, val2, ...) - সর্বোচ্চ মান রিটার্ন করে
  • LEAST(val1, val2, ...) - সর্বনিম্ন মান রিটার্ন করে
  • যেকোনো আর্গুমেন্ট NULL হলে ফলাফল NULL হয়
  • COALESCE(GREATEST(a,b), 0) দিয়ে NULL হ্যান্ডল করুন

বিকল্প পদ্ধতি: CASE WHEN

ORDER BY CASE WHEN Value1 > Value2 THEN Value1 ELSE Value2 END DESC

ব্যবহারিক প্রয়োগ

  • স্কোরিং: ORDER BY GREATEST(score1, score2, score3) DESC
  • তארিখ: ORDER BY GREATEST(created_at, updated_at, deleted_at) DESC
  • প্রাইস: ORDER BY GREATEST(price, sale_price, offer_price) ASC (সর্বনিম্ন দাম)

দ্রষ্টব্য: GREATEST স্ট্রিং-ওরও কাজ করে (লেক্সিকোগ্রাফিক্যালি): GREATEST('apple', 'banana') → 'banana'।

  1. MySQL কোয়ারি দিয়ে চতুর্থ সর্বোচ্চ মান বের করার পদ্ধতি

  2. MySQL-এ UNION এবং ORDER BY ব্যবহার করে দুটি টেবিলের কলাম একসাথে সর্ট করা

  3. MySQL-এ GREATEST() এবং LEAST() ব্যবহার করে দুটি কলামের জোড়ার আবার্তন গণনা

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