mysql - 按最后 3 个字符排序

标签 mysql

我有一张这样的 table :

id  name
--------
1   clark_009
2   clark_012
3   johny_002
4   johny_010

我需要按这个顺序得到结果:

johny_002
clark_009
johny_010
clark_012

不要问我已经尝试过什么,我不知道该怎么做。

最佳答案

这将完成,非常简单地选择最右边的 3 个字符并按该值升序排序。

SELECT *
FROM table_name
ORDER BY RIGHT(name, 3) ASC;

应该补充一点,随着数据的增长,这将成为一种低效的解决方案。最终,您可能希望将数字附录存储在单独的索引整数列中,以便排序效率达到最佳。

关于mysql - 按最后 3 个字符排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13732026/

相关文章:

mysql - FOREIGN KEY 引用同一表的列。无法插入值

java - [未解决]列表模型 list.removeAllElements java swing 的问题

mysql - 使用mysql查看2个不同列的数据

python - 存储海量数据;数据库、XML 还是纯文本?

sql - curdate() 如何在 MySQL 中进行比较

c# - 获取表中特定数据的最后一个条目(ASP.NET MVC)

mysql - 从只有一条记录的表更新太慢

android - 使用 json 通过服务器数据库绘制折线图

php - 密码验证

java - Java中的客户端服务器聊天应用程序