如何按 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)
廣告