用來對 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.