用来对 n 和表中值进行增序排序的 MySQL 查询?


要按距离排序,请使用 ORDER BY ABS()。让我们先创建一个表 -

mysql> create table DemoTable
(
   Number int
);
Query OK, 0 rows affected (1.16 sec)

使用 insert 命令在表中插入一些记录 -

mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.51 sec)
mysql> insert into DemoTable values(101);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(102);
Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable values(103);
Query OK, 1 row affected (0.84 sec)
mysql> insert into DemoTable values(104);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(105);
Query OK, 1 row affected (0.73 sec)
mysql> insert into DemoTable values(106);
Query OK, 1 row affected (0.95 sec)

使用 select 语句从表中显示所有记录 -

mysql> select *from DemoTable;

这将产生以下输出 -

+--------+
| Number |
+--------+
|    100 |
|    101 |
|    102 |
|    103 |
|    104 |
|    105 |
|    106 |
+--------+
7 rows in set (0.00 sec)

以下是按距离排序的查询。此处,n 为 103 -

mysql> select *from DemoTable order by abs(103-Number);

这将产生以下输出 -

+--------+
| Number |
+--------+
|    103 |
|    102 |
|    104 |
|    101 |
|    105 |
|    100 |
|    106 |
+--------+
7 rows in set (0.17 sec)

更新日期: 2019 年 10 月 4 日

59 次浏览

开启您的职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.