Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL ORDER BY ตัวอักษร 2 ตัวสุดท้ายของสตริง

จัดเรียงตามตัวอักษรสุดท้าย 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)