MySQL में अंतिम 3 कैरेक्टर के अनुसार ऑर्डर करने के लिए ORDER BY RIGHT() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName ORDER BY RIGHT(yourColumnName, 3) yourSortingOrder;
yourSortingOrder को ASC या DESC से बदलकर आरोही या अवरोही क्रम सेट करें।
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE OrderByLast3Chars (
-> EmployeeId INT NOT NULL AUTO_INCREMENT,
-> EmployeeName VARCHAR(20),
-> EmployeeAge INT,
-> PRIMARY KEY(EmployeeId)
-> );
Query OK, 0 rows affected (0.56 sec)
रिकॉर्ड डालें
mysql> INSERT INTO OrderByLast3Chars(EmployeeName, EmployeeAge) VALUES('Carol_901', 24);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO OrderByLast3Chars(EmployeeName, EmployeeAge) VALUES('Bob_101', 21);
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO OrderByLast3Chars(EmployeeName, EmployeeAge) VALUES('Sam_107', 22);
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO OrderByLast3Chars(EmployeeName, EmployeeAge) VALUES('Mile_677', 26);
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO OrderByLast3Chars(EmployeeName, EmployeeAge) VALUES('John_978', 27);
Query OK, 1 row affected (0.75 sec)
mysql> INSERT INTO OrderByLast3Chars(EmployeeName, EmployeeAge) VALUES('David_876', 29);
Query OK, 1 row affected (0.28 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM OrderByLast3Chars;
आउटपुट
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1 | Carol_901 | 24 | | 2 | Bob_101 | 21 | | 3 | Sam_107 | 22 | | 4 | Mile_677 | 26 | | 5 | John_978 | 27 | | 6 | David_876 | 29 | +------------+--------------+-------------+ 6 rows in set (0.00 sec)
केस 1: आरोही क्रम (Ascending)
mysql> SELECT * FROM OrderByLast3Chars
-> ORDER BY RIGHT(EmployeeName, 3) ASC;
आउटपुट
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1 | Carol_901 | 24 | | 2 | Bob_101 | 21 | | 3 | Sam_107 | 22 | | 4 | Mile_677 | 26 | | 5 | John_978 | 27 | | 6 | David_876 | 29 | +------------+--------------+-------------+ 6 rows in set (0.00 sec)
केस 2: अवरोही क्रम (Descending)
mysql> SELECT * FROM OrderByLast3Chars
-> ORDER BY RIGHT(EmployeeName, 3) DESC;
आउटपुट
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 5 | John_978 | 27 | | 1 | Carol_901 | 24 | | 6 | David_876 | 29 | | 4 | Mile_677 | 26 | | 3 | Sam_107 | 22 | | 2 | Bob_101 | 21 | +------------+--------------+-------------+ 6 rows in set (0.00 sec)
RIGHT(string, length) फ़ंक्शन स्ट्रिंग के दाएं से निर्दिष्ट संख्या में कैरेक्टर लौटाता है।