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() फ़ंक्शन अधिक सामान्य है (कॉमा-सूची स्ट्रिंग की आवश्यकता नहीं)।