按单个字段对记录排序并使用 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)
广告