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

MySQL में अंतिम 3 कैरेक्टर के अनुसार ORDER BY कैसे करें?


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) फ़ंक्शन स्ट्रिंग के दाएं से निर्दिष्ट संख्या में कैरेक्टर लौटाता है।

  1. - MySQL में GROUP BY MAX() का उपयोग करके DISTINCT मानों को ID के अवरोही क्रम में चुनना

    MySQL में GROUP BY और ORDER BY MAX() का उपयोग करके विशिष्ट मान चुनें और उन्हें अधिकतम ID के अवरोही क्रम में क्रमबद्ध करें। उदाहरण: टेबल बनाना और डुप्लिकेट डेटा डालना mysql> CREATE TABLE DemoTable ( -> Id INT, -> Name VARCHAR(100) -> ); Query OK, 0 rows affected (0.81 sec)

  1. - MySQL में NULL मानों के अनुसार ऑर्डर करने की क्वेरी

    उदाहरण टेबल बनाएं: mysql> create table DemoTable707 ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentFirstName varchar(100), -> StudentMarks int -> ); Query OK, 0 rows affected (0.59 sec) रिकॉर्ड डालें (कुछ NULL नाम के साथ): mysql> insert into Demo

  1. - MySQL में ORDER BY FIELD() से एकाधिक ID के अनुसार क्रमबद्ध करें

    FIELD() फंक्शन के साथ कस्टम क्रम में सॉर्टिंग जब आपको किसी कॉलम के मानों को एक विशिष्ट, गैर-मानक क्रम में व्यवस्थित करना हो, तो ORDER BY FIELD(column, value1, value2, ...) का उपयोग करें। टेबल और डेटा CREATE TABLE DemoTable( ClientId VARCHAR(40), ClientName VARCHAR(40) ); Query OK, 0 rows a