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

MySQL में अक्षर और प्रतीक वाले मानों को कस्टम क्रम में सॉर्ट करें

ORDER BY FIELD() के साथ जटिल स्ट्रिंग का कस्टम सॉर्टिंग

जब मानों में अक्षर, संख्या, और प्रतीक हों और आपको एक विशिष्ट क्रम चाहिए, तो ORDER BY FIELD(column, 'value1', 'value2', ...) का उपयोग करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    Title VARCHAR(100)
);
Query OK, 0 rows affected (0.62 sec)
mysql> INSERT INTO DemoTable VALUES('Java_1+');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('MySQL_23+');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('MongoDB++');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('C++_23');
Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+-----------+
| Title     |
+-----------+
| Java_1+   |
| MySQL_23+ |
| MongoDB++ |
| C++_23    |
+-----------+
4 rows in set (0.00 sec)

कस्टम क्रम में सॉर्ट करने की क्वेरी

mysql> SELECT * FROM DemoTable 
    ORDER BY FIELD(Title, 'MySQL_23+', 'C++_23', 'Java_1+', 'MongoDB++');

परिणाम:

+-----------+
| Title     |
+-----------+
| MySQL_23+ |
| C++_23    |
| Java_1+   |
| MongoDB++ |
+-----------+
4 rows in set (0.00 sec)

व्याख्या: FIELD() प्रत्येक मान की निर्दिष्ट सूची में स्थिति लौटाता है। सूची में नहीं होने वाले मानों के लिए 0 लौटाता है (वे पहले आते हैं)। यह किसी भी डेटा प्रकार के लिए काम करता है।

  1. - MySQL में विशिष्ट कॉलम मान को प्राथमिकता देकर ऑर्डर करें और बाकी को आरोही क्रम में दिखाएं

    MySQL में विशिष्ट मान को शीर्ष पर रखकर कस्टम ऑर्डरिंग MySQL में आप बूलियन अभिव्यक्ति (Column = Value) DESC का उपयोग करके एक विशिष्ट मान को शीर्ष पर रख सकते हैं, उसके बाद शेष मानों को आरोही (या अवरोही) क्रम में रख सकते हैं। टेबल बनाना ); Query OK, 0 rows affected (1.68 sec) डेटा डालना INSERT INTO

  1. - MySQL में स्ट्रिंग और संख्या वाले VARCHAR रिकॉर्ड को कैसे क्रमबद्ध करें?

    MySQL में अल्फान्यूमेरिक कोड (जैसे 100A, 101J) को संख्यात्मक भाग के अनुसार क्रमबद्ध करने के लिए ORDER BY column+0, column तकनीक का उपयोग करें। समस्या स्ट्रिंग क्रम: 100A, 100B, 101J, 101S, 103M (लेक्सिकोग्राफिक) वांछित क्रम: संख्यात्मक भाग पहले, फिर अक्षर उदाहरण mysql> CREATE TABLE DemoTable (S

  1. - MySQL में संख्याओं के साथ मिश्रित वर्ण कॉलम से वर्ण मान सॉर्ट करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Code varchar(20) -> ); Query OK, 0 rows affected (0.70 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(J23); Query OK, 1 row affected (0.17 sec) mysql> insert into De