使用 CASE 語句按欄位對 MySQL 進行排序


可使用 CASE 語句根據欄位排序。我們首先建立一個表 −

mysql> create table DemoTable(StudentId varchar(100));
Query OK, 0 rows affected (1.69 sec)

使用插入命令在表內插入一些記錄 −

mysql> insert into DemoTable values('STU-980');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable values('STU-1029');
Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable values('STU-189');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('STU-890');
Query OK, 1 row affected (0.38 sec)

使用 select 語句顯示該表內所有記錄 −

mysql> select *from DemoTable;

這將產生以下輸出 −

+-----------+
| StudentId |
+-----------+
| STU-980   |
| STU-1029  |
| STU-189   |
| STU-890   |
+-----------+
4 rows in set (0.00 sec)

以下是 MySQL 按欄位排序的查詢 −

mysql> select *from DemoTable
   order by case WHEN StudentId = 'STU-890' THEN 1
   WHEN StudentId = 'STU-1029' THEN 2
   WHEN StudentId = 'STU-980' THEN 3
   WHEN StudentId = 'STU-189' THEN 4
   end;

這將產生以下輸出 −

+-----------+
| StudentId |
+-----------+
| STU-890   |
| STU-1029  |
| STU-980   |
| STU-189   |
+-----------+
4 rows in set (0.08 sec)

更新日期:2019 年 8 月 22 日

769 次瀏覽

開啟你的職業生涯

完成課程以獲得認證

開始入門
廣告
© . All rights reserved.