您可以RIGHT()为此使用ORDER BY 。让我们首先创建一个表-mysql> create table DemoTable
(
UserId varchar(100)
);
使用插入命令在表中插入一些记录-mysql> insert into DemoTable values('User1234');
mysql> insert into DemoTable values('User9874');
mysql> insert into DemoTable values('User9994');
mysql> insert into DemoTable values('User1211');
mysql> insert into DemoTable values('User1012');
使用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)