ORDER BY DESC/ASC से परिणाम क्रमबद्ध करें
क्वेरी परिणाम को किसी कॉलम के मान के आधार पर उच्चतम से निम्नतम (अवरोही) या निम्नतम से उच्चतम (आरोही) क्रम में सॉर्ट करने के लिए ORDER BY क्लॉज का उपयोग करें।
सिंटैक्स
-- उच्चतम से निम्नतम (अवरोही)
SELECT * FROM table ORDER BY column DESC;
-- निम्नतम से उच्चतम (आरोही)
SELECT * FROM table ORDER BY column ASC;
टेबल और डेटा
mysql> CREATE TABLE DemoTable (Value INT);
mysql> INSERT INTO DemoTable VALUES(134), (245), (451), (1090), (789), (434);
मूल डेटा
mysql> SELECT * FROM DemoTable;
+-------+
| Value |
+-------+
| 134 |
| 245 |
| 451 |
| 1090 |
| 789 |
| 434 |
+-------+
केस 1: उच्चतम से निम्नतम (DESC)
mysql> SELECT * FROM DemoTable ORDER BY Value DESC;
+-------+
| Value |
+-------+
| 1090 |
| 789 |
| 451 |
| 434 |
| 245 |
| 134 |
+-------+
केस 2: निम्नतम से उच्चतम (ASC)
mysql> SELECT * FROM DemoTable ORDER BY Value ASC;
+-------+
| Value |
+-------+
| 134 |
| 245 |
| 434 |
| 451 |
| 789 |
| 1090 |
+-------+
बहु-कॉलम सॉर्ट
-- पहले विभाग अनुसार, फिर वेतन अनुसार
SELECT * FROM employees ORDER BY department ASC, salary DESC;
-- NULL मान अंत में
SELECT * FROM table ORDER BY column IS NULL, column ASC;
डिफ़ॉल्ट व्यवहार
ORDER BY column=ORDER BY column ASC(डिफ़ॉल्ट आरोही)- NULL मान डिफ़ॉल्ट रूप से पहले आते हैं (ASC में)
प्रदर्शन टिप
सॉर्ट किए जाने वाले कॉलम पर इंडेक्स बनाने से बड़े टेबल पर ORDER BY प्रदर्शन में सुधार होता है।