您可以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)