MySQL में कोई डिफ़ॉल्ट ORDER BY मान नहीं होता। आपको ORDER BY क्लॉज़ स्पष्ट रूप से निर्दिष्ट करना होगा।
सिंटैक्स:
ORDER BY ASC; OR ORDER BY DESC;
टेबल बनाएं
mysql> create table DemoTable (
-> StudentName VARCHAR(100)
-> );
Query OK, 0 rows affected (0.82 sec)
रिकॉर्ड्स डालें
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('David');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Bob');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Robert');
Query OK, 1 row affected (0.25 sec)
सभी रिकॉर्ड्स देखें (कोई क्रम गारंटी नहीं)
mysql> select * from DemoTable;
+-------------+ | StudentName | +-------------+ | Sam | | Chris | | David | | Bob | | Robert | +-------------+ 5 rows in set (0.00 sec)
केस 1: आरोही क्रम में परिणाम
mysql> SELECT * FROM DemoTable ORDER BY StudentName ASC;
+-------------+ | StudentName | +-------------+ | Bob | | Chris | | David | | Robert | | Sam | +-------------+ 5 rows in set (0.00 sec)
केस 2: अवरोही क्रम में परिणाम
mysql> SELECT * FROM DemoTable ORDER BY StudentName DESC;
+-------------+ | StudentName | +-------------+ | Sam | | Robert | | David | | Chris | | Bob | +-------------+ 5 rows in set (0.00 sec)
मुख्य बिंदु:
- बिना ORDER BY के क्रम अनिश्चित है (सम्मिलन क्रम, इंडेक्स, ऑप्टिमाइज़र पर निर्भर)
- हमेशा स्पष्ट ORDER BY उपयोग करें जब क्रम महत्वपूर्ण हो
ASCडिफ़ॉल्ट है (छोटा से बड़ा)DESCअवरोही क्रम (बड़ा से छोटा)- एकाधिक कॉलम्स:
ORDER BY col1 ASC, col2 DESC