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

เรียงลำดับตามสตริงที่กำหนดใน MySQL ด้วย FIELD()

ใช้ ORDER BY FIELD(column, 'val1', 'val2', 'val3', ...) กำหนดลำดับสตริงเอง

ตัวอย่าง: เรียงรถตามความชอบ

สร้างตาราง CarName 6 คัน

mysql> SELECT * FROM OrderByListOfStrings
    -> ORDER BY FIELD(CarName, 'Bugatti', 'BMW', 'Audi', 'Aston Martin', 'Ford', 'Honda');

ผลลัพธ์: เรียงตามลำดับที่ระบุใน FIELD() ทุกค่า

+----+--------------+
| Id | CarName      |
+----+--------------+
| 5  | Bugatti      |
| 6  | BMW          |
| 2  | Audi         |
| 4  | Aston Martin |
| 1  | Ford         |
| 3  | Honda        |
+----+--------------+

ประโยชน์: เรียงตาม Business Logic (เช่น Priority: High, Medium, Low หรือ Status: Pending, Approved, Rejected) ไม่ใช่เรียงตัวอักษร