透過部分值對 MySQL 表列值進行排序?
可以為此使用 ORDER BY RIGHT()。我們先建立一個表 -
mysql> create table DemoTable ( UserId varchar(100) ); Query OK, 0 rows affected (0.33 sec)
使用 insert 命令在表中插入一些記錄 -
mysql> insert into DemoTable values('User1234');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('User9874');
Query OK, 1 row affected (0.06 sec)
mysql> insert into DemoTable values('User9994');
Query OK, 1 row affected (0.04 sec)
mysql> insert into DemoTable values('User1211');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('User1012');
Query OK, 1 row affected (0.79 sec)使用 select 語句從表中顯示所有記錄 -
mysql> select *from DemoTable;
這將產生以下輸出 -
+----------+ | UserId | +----------+ | User1234 | | User9874 | | User9994 | | User1211 | | User1012 | +----------+ 5 rows in set (0.00 sec)
案例 1 - 如果您希望結果按升序排列。
以下是按 MySQL 表列值的部分值對錶進行排序的查詢。
mysql> select *from DemoTable ORDER BY RIGHT(UserId, 4);
這將產生以下輸出 -
+----------+ | UserId | +----------+ | User1012 | | User1211 | | User1234 | | User9874 | | User9994 | +----------+ 5 rows in set (0.00 sec)
案例 2 - 如果您希望結果按降序排列。
以下是按 MySQL 表列值的部分值對錶進行排序的查詢 -
mysql> select *from DemoTable ORDER BY RIGHT(UserId, 4) DESC;
這將產生以下輸出 -
+----------+ | UserId | +----------+ | User9994 | | User9874 | | User1234 | | User1211 | | User1012 | +----------+ 5 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP