按 MySQL 表列值的部分值进行排序?
mysqlmysqli database更新于 2025/9/8 8:44:17
您可以使用 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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

