आप MySQL में एक स्ट्रिंग के कुछ भाग द्वारा ऑर्डर करने के लिए ORDER BY SUBSTRING() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं:
mysql> टेबल बनाएं DemoTable (UserId varchar(200));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.68 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड्स डालने के लिए क्वेरी निम्नलिखित है:
mysql> डेमोटेबल मानों में डालें ('USER_1234'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> डेमोटेबल मानों में डालें ('USER_John'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> सम्मिलित करें डेमोटेबल मानों में ('USER_Sam'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.22 सेकंड) mysql> डेमोटेबल मानों में डालें ('USER_Carol'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल मानों में डालें ('USER_Bob') ');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)
चयन कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करने के लिए क्वेरी निम्नलिखित है:
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा:
<पूर्व>+---------------+| उपयोगकर्ता आईडी | +---------------+| USER_1234 || USER_जॉन || USER_सैम || USER_कैरोल || USER_Bob |+---------------+5 पंक्तियाँ सेट में (0.00 सेकंड)मामला 1: जब आप आरोही क्रम में एक स्ट्रिंग के भाग द्वारा ORDER करना चाहते हैं।
निम्नलिखित क्वेरी है। यहां, हम चौथे वर्ण के बाद स्ट्रिंग के कुछ भाग को क्रमित करेंगे:
mysql> सबस्ट्रिंग (UserId,4) asc द्वारा डेमोटेबल ऑर्डर से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा
<पूर्व>+---------------+| UserId |+---------------+| USER_1234 || USER_बॉब || USER_कैरोल || USER_जॉन || USER_Sam |+---------------+5 पंक्तियाँ सेट में (0.00 सेकंड)मामला 2: जब आप किसी स्ट्रिंग के भाग द्वारा अवरोही क्रम में ORDER करना चाहते हैं। निम्नलिखित प्रश्न है:
mysql> सबस्ट्रिंग (UserId,4) desc द्वारा डेमोटेबल ऑर्डर से *चुनें;
यह निम्नलिखित आउटपुट का उत्पादन करेगा। यहां, हम चौथे वर्ण के बाद स्ट्रिंग के कुछ भाग को क्रमित करेंगे:
<पूर्व>+---------------+| UserId |+---------------+| USER_सैम || USER_जॉन || USER_कैरोल || USER_बॉब || USER_1234 |+------------+5 पंक्तियाँ सेट में (0.00 सेकंड)