ใช้ RIGHT(คอลัมน์, จำนวนตัวอักษร) ใน ORDER BY เพื่อเรียงตามส่วนท้ายของค่า
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (UserId VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES
('User1234'), ('User9874'), ('User9994'), ('User1211'), ('User1012');
ดูข้อมูลเดิม
mysql> SELECT * FROM DemoTable;
+----------+
| UserId |
+----------+
| User1234 |
| User9874 |
| User9994 |
| User1211 |
| User1012 |
+----------+
กรณี 1: เรียงน้อยไปมาก ตาม 4 ตัวสุดท้าย
mysql> SELECT * FROM DemoTable ORDER BY RIGHT(UserId, 4);
+----------+
| UserId |
+----------+
| User1012 |
| User1211 |
| User1234 |
| User9874 |
| User9994 |
+----------+
กรณี 2: เรียงมากไปน้อย ตาม 4 ตัวสุดท้าย
mysql> SELECT * FROM DemoTable ORDER BY RIGHT(UserId, 4) DESC;
+----------+
| UserId |
+----------+
| User9994 |
| User9874 |
| User1234 |
| User1211 |
| User1012 |
+----------+
ประยุกต์: เรียงตามรหัสไปรษณีย์ 5 หลัก, เลขท้ายบัตรประชาชน, หรือรหัสสินค้าที่มี prefix เดียวกัน