php mysql按标题右侧的数字排序

时间:2015-06-01 14:16:49

标签: php mysqli

我需要从标题末尾的Numbers订购,但需要作为UNSIGNED结果,我尝试从标题表中获取最后5位并排序但不给出自然结果

标题表

title1 (2015)
something (1999)
title1 (1994
title1 (2014)

我的代码

 ORDER BY RIGHT(title,5) DESC

结果是

something (1999)
title1 (1994)
title1 (2014)
title1 (2015)

我怎么能这样订购:

title1 (2015)
title1 (2014)
something (1999)
title1 (1994)

现在这个代码顺序像1,10,101,2,20,201,但我需要像这样1,2,10,20,101,201

3 个答案:

答案 0 :(得分:1)

因为你是substring,它会将数据转换为文本。

您需要将其转换回数字(source):

order by substring(title,-5,4)*1 desc;

答案 1 :(得分:0)

您需要ORDER BY ASC 而不是DESC。

ORDER BY RIGHT(title,5) ASC

了解详情here

答案 2 :(得分:0)

如果你这样做会怎么样?查看DEMO HERE

select col1 from table1
order by replace(right(col1,5), ')','') desc;