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

MySQL में पहले अक्षर के आधार पर ORDER BY कैसे करें?

परिचय

MySQL में किसी कॉलम के पहले अक्षर के आधार पर रिकॉर्ड्स को क्रमबद्ध करने के लिए ORDER BY CASE स्टेटमेंट का उपयोग किया जाता है। यह तब उपयोगी होता है जब आपको किसी विशेष अक्षर से शुरू होने वाले रिकॉर्ड्स को प्राथमिकता देनी हो।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable1535 (
    -> Value VARCHAR(100)
    -> );
Query OK, 0 rows affected (2.26 sec)
mysql> INSERT INTO DemoTable1535 VALUES('MySQL is good relational database.');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable1535 VALUES('is MySQL easy to lean');
Query OK, 1 row affected (0.35 sec)
mysql> INSERT INTO DemoTable1535 VALUES('You need to start basic SQL');
Query OK, 1 row affected (0.35 sec)

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable1535;

आउटपुट:

+------------------------------------+
| Value                              |
+------------------------------------+
| MySQL is good relational database. |
| is MySQL easy to lean              |
| You need to start basic SQL        |
+------------------------------------+
3 rows in set (0.00 sec)

पहले अक्षर के आधार पर क्रमबद्ध करने की क्वेरी

हम 'i' अक्षर से शुरू होने वाले रिकॉर्ड को पहले दिखाने के लिए CASE स्टेटमेंट का उपयोग करेंगे:

mysql> SELECT * FROM DemoTable1535
    -> ORDER BY CASE WHEN LEFT(Value, 1) = 'i' THEN 1 ELSE 2 END, Value;

परिणाम

+------------------------------------+
| Value                              |
+------------------------------------+
| is MySQL easy to lean              |
| MySQL is good relational database. |
| You need to start basic SQL        |
+------------------------------------+
3 rows in set (0.00 sec)

व्याख्या

  • LEFT(Value, 1) - कॉलम के पहले अक्षर को निकालता है
  • CASE WHEN ... THEN 1 ELSE 2 END - 'i' से शुरू होने वालों को 1 (पहली प्राथमिकता), बाकी को 2 देता है
  • Value - द्वितीयक क्रमबद्धिकरण के लिए कॉलम का नाम

इस तकनीक से आप किसी भी अक्षर या पैटर्न के आधार पर कस्टम क्रमबद्धिकरण कर सकते हैं।

  1. - MySQL में AUTO_INCREMENT कॉलम द्वारा कैसे क्रमबद्ध करें?

    MySQL में AUTO_INCREMENT कॉलम से ORDER BY करना AUTO_INCREMENT प्राथमिक कुंजी कॉलम द्वारा परिणाम क्रमबद्ध करने के लिए सीधे उस कॉलम का उपयोग करें। टेबल बनाना और डेटा डालना mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(100) ); Query OK, 0 rows

  1. - MySQL ORDER BY CASE के साथ

    इसके लिए ORDER BY NULLIF() का उपयोग करें। पहले एक टेबल बनाते हैं: mysql> create table DemoTable672( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), CustomerAmount int ); Query OK, 0 rows affected (0.81 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mys

  1. - MySQL में ORDER BY INSTR() से विशिष्ट शब्द क्रमबद्ध करना

    INSTR() फंक्शन के साथ कस्टम ऑर्डरिंग INSTR(str, substr) फंक्शन str में substr की पहली घटना की स्थिति (1-आधारित) लौटाता है। मिलने पर स्थिति, न मिलने पर 0। ORDER BY INSTR(...) से शब्द की स्थिति के अनुसार क्रमबद्ध करें। उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना mysql> CREATE TABLE DemoTable822(Word T