按單個欄位對記錄排序並使用 MySQL 在相同順序中顯示其餘記錄
這裡我們首先建立一個表格 -
mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.82 sec)
使用 insert 命令在表格中插入一些記錄 -
mysql> insert into DemoTable values(201,'Chris Brown'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(110,'John Doe'); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable values(101,'Adam Smith'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(345,'Carol Taylor'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(135,'John Smith'); Query OK, 1 row affected (0.11 sec)
使用 select 語句從表格中顯示所有記錄 -
mysql> select *from DemoTable;
這將產生以下輸出 -
+------+--------------+ | Id | Name | +------+--------------+ | 201 | Chris Brown | | 110 | John Doe | | 101 | Adam Smith | | 345 | Carol Taylor | | 135 | John Smith | +------+--------------+ 5 rows in set (0.00 sec)
以下是 ORDER By 欄位的查詢。Id 101 將保持在頂部,其餘記錄將按相同順序顯示 -
mysql> select *from DemoTable -> order by (Id=101) desc;
這將產生以下輸出 -
+------+--------------+ | Id | Name | +------+--------------+ | 101 | Adam Smith | | 201 | Chris Brown | | 110 | John Doe | | 345 | Carol Taylor | | 135 | John Smith | +------+--------------+ 5 rows in set (0.00 sec)
廣告