如何按 MySQL 中的最後 2 個字元字串進行 ORDER BY?


你可以使用 ORDER BY RIGHT() 根據最後 2 個字元字串進行 ORDER BY。

語法如下

select yourColumnName from yourTableName ORDER BY RIGHT(yourColumnName , 2);

為了理解上述語法,讓我們建立一個表。建立表的查詢如下所示

mysql> create table OrderByLast2CharactersDemo
   -> (
   -> CustomerId varchar(20),
   -> CustomerName varchar(20)
   -> );
Query OK, 0 rows affected (0.58 sec)

使用插入命令在表中插入一些記錄。查詢如下所示 −

mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('John-98','John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('Carol-91','Carol');
Query OK, 1 row affected (0.21 sec)
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('Bob-99','Bob');
Query OK, 1 row affected (0.22 sec)
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('David-67','David');
Query OK, 1 row affected (0.15 sec)

使用 select 語句從表中顯示所有記錄。查詢如下所示 −

mysql> select *from OrderByLast2CharactersDemo;

輸出如下

+------------+--------------+
| CustomerId | CustomerName |
+------------+--------------+
| John-98    | John         |
| Carol-91   | Carol        |
| Bob-99     | Bob          |
| David-67   | David        |
+------------+--------------+
4 rows in set (0.00 sec)

以下是按最後 2 個字元字串排序的查詢。

案例 1:結果按升序排列。

查詢如下 −

mysql> select CustomerId from OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2);

輸出如下

+------------+
| CustomerId |
+------------+
| David-67   |
| Carol-91   |
| John-98    |
| Bob-99     |
+------------+
4 rows in set (0.01 sec)

案例 2 結果按降序排列。

查詢如下 −

mysql> select CustomerId from OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2) DESC;

輸出如下

+------------+
| CustomerId |
+------------+
| Bob-99     |
| John-98    |
| Carol-91   |
| David-67   |
+------------+
4 rows in set (0.00 sec)

更新於: 30-07-2019

2K+ 瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始使用
廣告