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

MySQL: ORDER BY แบบกำหนดเองไม่ใช้ ASC/DESC ด้วย FIND_IN_SET()


เรียงตามลำดับที่กำหนดเองโดยไม่ใช้ ASC/DESC ใช้ FIND_IN_SET()

ตัวอย่าง

mysql> CREATE TABLE DemoTable (Number INT);
mysql> INSERT INTO DemoTable VALUES (20), (60), (40), (800);

ข้อมูล

+--------+
| Number |
+--------+
| 20     |
| 60     |
| 40     |
| 800    |
+--------+

Query: เรียงตามลำดับ 40, 20, 800, 60

mysql> SELECT * FROM DemoTable ORDER BY FIND_IN_SET(Number, '40,20,800,60');

ผลลัพธ์

+--------+
| Number |
+--------+
| 40     |
| 20     |
| 800    |
| 60     |
+--------+