GREATEST() फंक्शन का उपयोग करके पंक्ति-वार अधिकतम के आधार पर सॉर्ट करना
कई कॉलम सॉर्ट करने के लिए ORDER BY GREATEST() का उपयोग करें। पहले टेबल बनाएं:
mysql> create table DemoTable1395 ( Value1 int, Value2 int, Value3 int ); Query OK, 0 rows affected (0.79 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1395 values(40,50,60); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable1395 values(90,56,80); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1395 values(10,20,30); Query OK, 1 row affected (0.11 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1395;
आउटपुट:
+--------+--------+--------+ | Value1 | Value2 | Value3 | +--------+--------+--------+ | 40 | 50 | 60 | | 90 | 56 | 80 | | 10 | 20 | 30 | +--------+--------+--------+ 3 rows in set (0.00 sec)
कई कॉलम सॉर्ट करने की क्वेरी:
mysql> select * from DemoTable1395 order by greatest(Value1, Value2, Value3);
परिणाम:
+--------+--------+--------+ | Value1 | Value2 | Value3 | +--------+--------+--------+ | 10 | 20 | 30 | | 40 | 50 | 60 | | 90 | 56 | 80 | +--------+--------+--------+ 3 rows in set (0.00 sec)
व्याख्या: GREATEST(Value1, Value2, Value3) प्रत्येक पंक्ति के तीनों कॉलम में से सबसे बड़ा मान लौटाता है। पंक्ति 1: max(40,50,60)=60, पंक्ति 2: max(90,56,80)=90, पंक्ति 3: max(10,20,30)=30। ORDER BY इस गणना किए गए अधिकतम मान के आधार पर पंक्तियों को सॉर्ट करता है (30, 60, 90)। यह "कई कॉलम एक साथ सॉर्ट करने" का एक व्याख्या है - प्रत्येक पंक्ति के अधिकतम के आधार पर।