MySQL中的自然排序

MySQL中的自然排序

是否有一种优雅的方法可以在MySQL数据库中进行高效、自然的排序?

例如,如果我有这个数据集:

  • 最终幻想
  • 最终幻想4
  • 最后幻想10
  • 最后幻想12
  • 最终幻想12:普罗马提亚链
  • 最终幻想冒险
  • 最后幻想起源
  • 最后幻想战术

任何其他雅致解决方案,而不是把游戏的名字分成它们的组成部分

  • 标题

    *“最后幻想”
  • : "12"

  • 字幕

    *“Promathia链”

以确保它们按正确的顺序出现?(4点后10次,而不是2点之前)。


小怪兽爱吃肉
浏览 633回答 3
3回答

慕无忌1623718

我认为这就是为什么很多事情都是按发布日期分类的。解决方案可能是在表中为“SortKey”创建另一列。这可能是一个清洁版本的标题,它符合您创建的模式,以便于排序或计数器。

慕侠2389804

以下是一个快速解决方案:SELECT alphanumeric,         integerFROM sorting_testORDER BY LENGTH(alphanumeric), alphanumeric
打开App,查看更多内容
随时随地看视频慕课网APP