MySQL में ORDER BY क्लॉज में एकाधिक कॉलम निर्दिष्ट करके बहु-स्तरीय क्रमबद्धता (मल्टी-कॉलम सॉर्टिंग) करें।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> Id INT,
-> Value INT
-> );
Query OK, 0 rows affected (0.68 sec)
mysql> INSERT INTO DemoTable VALUES(100, 85885), (101, 885995474), (100, 895943);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------+-----------+ | Id | Value | +------+-----------+ | 100 | 85885 | | 101 | 885995474 | | 100 | 895943 | +------+-----------+ 3 rows in set (0.00 sec)
Value के अवरोही क्रम में क्रमबद्ध करना
mysql> SELECT Id, Value FROM DemoTable ORDER BY Value DESC;
आउटपुट
+------+-----------+ | Id | Value | +------+-----------+ | 101 | 885995474 | | 100 | 895943 | | 100 | 85885 | +------+-----------+ 3 rows in set (0.00 sec)
बहु-कॉलम क्रमबद्धता सिंटैक्स:
ORDER BY column1 ASC/DESC, column2 ASC/DESC, column3 ASC/DESC, ...
उदाहरण: पहले Value अवरोही, फिर Id आरोही:
SELECT Id, Value FROM DemoTable ORDER BY Value DESC, Id ASC;
आउटपुट:
+------+-----------+ | Id | Value | +------+-----------+ | 101 | 885995474 | | 100 | 895943 | | 100 | 85885 | +------+-----------+
(यहां Value अद्वितीय हैं, इसलिए Id क्रमबद्धता का प्रभाव नहीं दिखता।)
महत्वपूर्ण: क्रमबद्धता बाएं से दाएं लागू होती है। पहले कॉलम द्वारा क्रमबद्ध, फिर टाई होने पर दूसरे द्वारा, आदि।
प्रदर्शन टिप: क्रमबद्धता कॉलम पर कम्पोजिट इंडेक्स (Value DESC, Id ASC) क्वेरी को तेज़ कर सकता है।