จัดเรียงตามตัวอักษรสุดท้าย 2 ตัวด้วย RIGHT()
ใช้ฟังก์ชัน RIGHT() ใน ORDER BY เพื่อจัดเรียงตามตัวอักษร N ตัวสุดท้าย
ไวยากรณ์
SELECT yourColumnName FROM yourTableName ORDER BY RIGHT(yourColumnName, 2);
ตัวอย่าง: CustomerId ลงท้ายด้วยตัวเลข
CREATE TABLE OrderByLast2CharactersDemo (
CustomerId VARCHAR(20),
CustomerName VARCHAR(20)
);
INSERT INTO OrderByLast2CharactersDemo VALUES
('John-98', 'John'), ('Carol-91', 'Carol'),
('Bob-99', 'Bob'), ('David-67', 'David');
จัดเรียง Ascending (น้อยไปมาก)
SELECT CustomerId FROM OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId, 2);
+------------+ | CustomerId | +------------+ | David-67 | | Carol-91 | | John-98 | | Bob-99 | +------------+
จัดเรียง Descending (มากไปน้อย)
SELECT CustomerId FROM OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId, 2) DESC;
+------------+ | CustomerId | +------------+ | Bob-99 | | John-98 | | Carol-91 | | David-67 | +------------+
การประยุกต์ใช้
- จัดเรียงรหัสสินค้าที่ลงท้ายด้วยรุ่น/ปี
- จัดเรียงหมายเลขโทรศัพท์ตามเลข 2 ตัวสุดท้าย
- รวมกับ CAST เพื่อจัดเรียงเป็นตัวเลข:
ORDER BY CAST(RIGHT(col, 2) AS UNSIGNED)