私信  •  关注

user1467716

user1467716 最近创建的主题
user1467716 最近回复了
13 年前
回复了 user1467716 创建的主题 » 在mysql中,如何在没有前导零的情况下排序数字

我知道这个话题很古老,但我想我已经找到了一种方法:

SELECT * FROM `table` ORDER BY 
CONCAT(
  GREATEST(
    LOCATE('1', name),
    LOCATE('2', name),
    LOCATE('3', name),
    LOCATE('4', name),
    LOCATE('5', name),
    LOCATE('6', name),
    LOCATE('7', name),
    LOCATE('8', name),
    LOCATE('9', name)
   ),
   name
) ASC

废话,它对以下集合的排序不正确(这是无用的lol):

最终幻想1 最终幻想2 最终幻想5 最终幻想7 最终幻想7:降临儿童 最终幻想12 最终幻想112 FF1 FF2