MySQL中的自然排序
有没有一种优雅的方法可以在MySQL数据库中进行高性能的自然排序?
例如,如果我有此数据集:
- 最终幻想
- 最终幻想4
- 最终幻想10
- 最终幻想12
- 最终幻想12:爱情之链
- 最终幻想冒险
- 最终幻想起源
- 最终幻想战术
除了将游戏名称拆分成各个组成部分外,其他任何 解决方案
- 标题 :《最终幻想》
- 编号 :“ 12”
- 副标题 :“ Promathia的链条”
确保它们以正确的顺序出现?(10个在4之后,而不是2之前)。
这样做是一件令人痛苦的事情,因为不时有另一款游戏破坏了解析游戏标题的机制(例如“战锤40,000”,“詹姆斯·邦德007”)
回答:
我认为这就是为什么很多东西都按发布日期排序的原因。
一种解决方案是在表中为“ SortKey”创建另一列。这可能是标题的经过净化处理的版本,与您为便于排序或创建计数器而创建的模式相符。
以上是 MySQL中的自然排序 的全部内容, 来源链接: utcz.com/qa/401967.html