实现MySQL ORDER BY而不使用ASC或DESC?
为此,您可以使用FIND_IN_SET()。让我们首先创建一个表-
mysql> create table DemoTable -> ( -> Number int -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values(20); mysql> insert into DemoTable values(60); mysql> insert into DemoTable values(40); mysql> insert into DemoTable values(800);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+--------+ | Number | +--------+ | 20 | | 60 | | 40 | | 800 | +--------+ 4 rows in set (0.00 sec)
这是在不使用ASC或DESC的情况下实现MySQLORDERBY的查询。
mysql> select *from DemoTable -> order by FIND_IN_SET(Number,'40,20,800,60');
这将产生以下输出-
+--------+ | Number | +--------+ | 40 | | 20 | | 800 | | 60 | +--------+ 4 rows in set (0.14 sec)