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

การจัดเรียงตามตัวอักษรใน MySQL ยกเว้นรายการเดียว

คุณสามารถใช้คำสั่ง ORDER BY เพื่อจัดเรียงข้อมูลตามตัวอักษร แต่ยกเว้นรายการที่ต้องการให้อยู่ท้ายสุด ได้โดยการใช้เงื่อนไขในคำสั่ง ORDER BY เอง

ตัวอย่างการสร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( FirstName varchar(200) );
Query OK, 0 rows affected (0.93 sec)
mysql> insert into DemoTable values('Larry'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Carol'); Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('Sam'); Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable values('Mike'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('David'); Query OK, 1 row affected (0.18 sec)

แสดงข้อมูลก่อนจัดเรียง

mysql> select * from DemoTable;
+-----------+
| FirstName |
+-----------+
| Larry     |
| Carol     |
| Sam       |
| Mike      |
| David     |
+-----------+
5 rows in set (0.00 sec)

คำสั่งจัดเรียงตามตัวอักษร แต่ให้ "Mike" อยู่ท้ายสุด

mysql> select * from DemoTable order by FirstName="Mike", FirstName;

หลักการคือ FirstName="Mike" จะคืนค่า 1 (true) สำหรับ Mike และ 0 (false) สำหรับคนอื่น การจัดเรียงค่า 0 ก่อน 1 จะทำให้ Mike อยู่ท้ายสุด

ผลลัพธ์

+-----------+
| FirstName |
+-----------+
| Carol     |
| David     |
| Larry     |
| Sam       |
| Mike      |
+-----------+
5 rows in set (0.00 sec)