MySQL 查询首先按降序设置负值,然后按升序设置正值
mysqlmysqli database更新于 2025/5/27 13:32:17
为此,您可以使用 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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

