首先按降序排列負值,然後再按升序排列正值的 MySQL 查詢
為此,可以使用 UNION。我們首先建立一個表 -
mysql> create table DemoTable -> ( -> Number int -> ); Query OK, 0 rows affected (1.17 sec)
使用 insert 命令在表中插入一些記錄 -
mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(-9); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values(-190); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(190); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable values(0); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(140); Query OK, 1 row affected (0.16 sec)
使用 select 語句顯示錶中的所有記錄 -
mysql> select *from DemoTable;
輸出
這將產生以下輸出 -
+--------+ | Number | +--------+ | 10 | | 100 | | -9 | | -190 | | 190 | | 0 | | 140 | +--------+ 7 rows in set (0.00 sec)
以下是按降序顯示負值,然後按升序顯示正值的查詢。最初,我們顯示 0 -
mysql> (select *from DemoTable where Number=0) -> union -> (select *from DemoTable where Number < 0 order by Number desc) -> union -> (select *from DemoTable where Number > 0 order by Number);
輸出
這將產生以下輸出 -
+--------+ | Number | +--------+ | 0 | | -9 | | -190 | | 10 | | 100 | | 190 | | 140 | +--------+ 7 rows in set (0.03 sec)
廣告