ORDER BY क्लॉज में उस कॉलम का उपयोग कर सकते हैं जिसे SELECT सूची में शामिल नहीं किया गया है। क्वेरी द्वारा कॉलम पुनर्प्राप्त न करने पर भी उस पर सॉर्टिंग संभव है।
उदाहरण - ratelist टेबल:
mysql> Select Sr, Item from ratelist ORDER BY Price;
+----+------+
| Sr | Item |
+----+------+
| 5 | T |
| 1 | A |
| 2 | B |
| 4 | h |
| 3 | C |
+----+------+
5 rows in set (0.00 sec)
विश्लेषण:
SELECT Sr, Item- केवल Sr और Item कॉलम चुनेंORDER BY Price- Price कॉलम द्वारा क्रमबद्ध (जो SELECT में नहीं है)- परिणाम Price के अनुसार क्रमबद्ध है, लेकिन Price कॉलम आउटपुट में नहीं दिखता
उपयोग केस:
- आंतरिक गणना/सॉर्टिंग के लिए छिपे कॉलम उपयोग करना
- API प्रतिक्रिया में अनावश्यक कॉलम न भेजकर बैंडविड्थ बचाना
- सॉर्टिंग के बाद केवल आवश्यक कॉलम लौटाना
सावधानी:
DISTINCTके साथ उपयोग करते समय सावधान रहें - अदृश्य कॉलम पर सॉर्टिंग अप्रत्याशित परिणाम दे सकती हैGROUP BYके साथ, गैर-एग्रीगेटेड कॉलम परORDER BYकेवल MySQL के ONLY_FULL_GROUP_BY मोड पर निर्भर करता है
मानक SQL: यह व्यवहार SQL मानक के अनुसार है और अधिकांश RDBMS (PostgreSQL, SQL Server, Oracle) में समर्थित है।