आप MySQL में अंतिम 3 वर्णों द्वारा ऑर्डर करने के लिए ORDER BY RIGHT() फ़ंक्शन का उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है -
चुनें *अपनेTableNameORDER से दायीं ओर(yourColumnName,3) yourSortingOrder;
आरोही या अवरोही क्रम सेट करने के लिए बस 'yourSortingOrder' को ASC या DESC से बदलें।
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> तालिका बनाएं OrderByLast3Chars -> (-> EmployeeId int NOT NULL AUTO_INCREMENT, -> EmployeeName varchar(20), -> EmployeeAge int, -> PRIMARY KEY(EmployeeId) -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं ( 0.56 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('कैरोल_901', 24) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('बॉब_101', 21) में डालें;क्वेरी ओके, 1 पंक्ति प्रभावित (0.19 सेकंड)mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('Sam_107', 22) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) में डालें मान ('माइल_677', 26); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> OrderByLast3Chars (कर्मचारी नाम, कर्मचारी आयु) मान ('जॉन_978', 27) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.75 सेकंड) mysql> OrderByLast3Chars(EmployeeName, EmployeeAge) मान ('David_876',29) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.28 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> OrderByLast3Chars से *चुनें;
निम्न आउटपुट है -
<पूर्व>+---------------+--------------+---------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी आयु |+---------------+--------------+---------------+| 1 | कैरल_901 | 24 || 2 | बॉब_101 | 21 || 3 | सैम_107 | 22 || 4 | माइल_677 | 26 || 5 | जॉन_978 | 27 || 6 | डेविड_876 | 29 |+---------------+--------------+---------------+6 पंक्तियाँ सेट में ( 0.00 सेकंड)पिछले 3 वर्णों के आधार पर ऑर्डर करने के लिए क्वेरी यहां दी गई है।
केस 1 - परिणाम आरोही क्रम में प्राप्त करें।
क्वेरी इस प्रकार है -
mysql> OrderByLast3Chars से * चुनें -> राइट बाय ऑर्डर (कर्मचारी नाम, 3) asc;
निम्न आउटपुट है -
<पूर्व>+---------------+--------------+---------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी आयु |+---------------+--------------+---------------+| 1 | कैरल_901 | 24 || 2 | बॉब_101 | 21 || 3 | सैम_107 | 22 || 4 | माइल_677 | 26 || 5 | जॉन_978 | 27 || 6 | डेविड_876 | 29 |+---------------+--------------+---------------+6 पंक्तियाँ सेट में ( 0.00 सेकंड)केस 2 - परिणाम अवरोही क्रम में प्राप्त करें। क्वेरी इस प्रकार है -
mysql> OrderByLast3Chars से * चुनें -> राइट बाय ऑर्डर (कर्मचारी नाम, 3) विवरण;
निम्न आउटपुट है -
<पूर्व>+---------------+--------------+---------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी आयु |+---------------+--------------+---------------+| 5 | जॉन_978 | 27 || 1 | कैरल_901 | 24 || 6 | डेविड_876 | 29 || 4 | माइल_677 | 26 || 3 | सैम_107 | 22 || 2 | बॉब_101 | 21 |+---------------+--------------+----------------+6 पंक्तियाँ सेट में ( 0.00 सेकंड)