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

MySQL में FIND_IN_SET से ASC/DESC के बिना कस्टम क्रम में सॉर्ट करना

MySQL में ORDER BY में ASC/DESC का उपयोग किए बिना पूरी तरह से कस्टम क्रम में सॉर्ट करने के लिए FIND_IN_SET() फ़ंक्शन का उपयोग किया जा सकता है।

उदाहरण के लिए टेबल बनाना

mysql> CREATE TABLE DemoTable (Number INT);

डेटा डालना

mysql> INSERT INTO DemoTable VALUES(20), (60), (40), (800);

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+--------+
| Number |
+--------+
| 20     |
| 60     |
| 40     |
| 800    |
+--------+

कस्टम क्रम: 40, 20, 800, 60

mysql> SELECT * FROM DemoTable ORDER BY FIND_IN_SET(Number, '40,20,800,60');

आउटपुट

+--------+
| Number |
+--------+
| 40     |
| 20     |
| 800    |
| 60     |
+--------+

व्याख्या: FIND_IN_SET(val, 'comma,list') val की सूची में स्थिति लौटाता है (1-आधारित)। सूची में न होने पर 0। ORDER BY इस संख्या के अनुसार सॉर्ट करता है। सीमा: FIND_IN_SET स्ट्रिंग तुलना करता है; संख्याओं के लिए काम करता है लेकिन स्ट्रिंग्स के लिए केस-सेंसिटिव हो सकता है। FIELD() फ़ंक्शन अधिक सामान्य है (कॉमा-सूची स्ट्रिंग की आवश्यकता नहीं)।

  1. - MySQL में ORDER BY बूलियन एक्सप्रेशन से रैप-अराउंड सॉर्टिंग लागू करें

    MySQL में बूलियन एक्सप्रेशन ( मान) का उपयोग करके सॉर्ट क्रम को नियंत्रित कर सकते हैं: TRUE (1) पहले, FALSE (0) बाद में, फिर प्रत्येक समूह के भीतर द्वितीयक सॉर्ट। उदाहरण: 10 से बड़े मान पहले (आरोही), फिर 10 या छोटे (आरोही) 1. टेबल बनाएं CREATE TABLE DemoTable (Value INT); 2. डेटा डालें INSERT IN

  1. - MySQL में ORDER BY ASC के साथ NULL मानों को नीचे कैसे दिखाएं?

    MySQL में ORDER BY ASC डिफ़ॉल्ट रूप से NULL मानों को पहले रखता है। NULL मानों को अंत में (नीचे) रखते हुए आरोही क्रम बनाए रखने के लिए, CASE स्टेटमेंट या IS NULL चेक के साथ कस्टम सॉर्टिंग लागू करें। उदाहरण: NULL और खाली स्ट्रिंग को नीचे रखें डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1937 (Na

  1. - MySQL में केवल विशिष्ट रिकॉर्ड की सूची को ASC क्रम में प्रदर्शित करें

    समाधान ORDER BY CASE स्टेटमेंट का उपयोग करके कस्टम क्रम लागू करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2039 VALUES (John Doe), (John Smith), (Chris Brown), (Adam Smith), (David Miller); कस्टम क्रम क्वेरी Smith वाले नामों को अंत में रखें, फिर वर्णानुक्रम क्रम: ORDER BY CASE WHEN Name LIKE %Sm