Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में ORDER BY का उपयोग करके एकाधिक कॉलम द्वारा क्रमबद्ध करना

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) क्वेरी को तेज़ कर सकता है।

  1. - MySQL में SUBSTRING_INDEX() का उपयोग करके कॉलम कैसे विभाजित करें?

    MySQL में SUBSTRING_INDEX() और LOCATE() फ़ंक्शन का उपयोग करके डिलिमिटर (जैसे अंडरस्कोर) के आधार पर कॉलम को भागों में विभाजित किया जा सकता है। सिंटैक्स 0: बाएं से count भाग -- count < 0: दाएं से |count| भाग उदाहरण: पहला भाग प्राप्त करें (पहले _ से पहले) mysql> CREATE TABLE DemoTable (Name VARCH

  1. - MySQL में कस्टम सॉर्टिंग करें

    MySQL में कस्टम सॉर्टिंग करने के लिए ORDER BY FIELD() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int -> ); Query OK, 0 rows affected (0.82 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(101); Q

  1. - एकल MySQL क्वेरी में एक कॉलम में एकाधिक मान कैसे डालें?

    सिंटैक्स एक कॉलम में एकाधिक मान डालने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: INSERT INTO yourTableName VALUES (yourValue1), (yourValue2), ... (yourValueN); उदाहरण सबसे पहले एक टेबल बनाते हैं: ); अब INSERT कमांड का उपयोग करके रिकॉर्ड डालें: INSERT INTO DemoTable2022 VALUES (Computer Science)