您好我有一个表data_table。我需要从表中获取所有标题。标题字段(类型varchar)包含如下的字母数字数据
title
---------
ab 2007
ab 2017
ba 2018
ba 2017
cd 2017
cd 2016
我想要的输出是
title
---------
ba 2018
ab 2017
ba 2017
cd 2017
cd 2016
ab 2007
我试过CAST。但没有得到所需的结果
SELECT title, CAST(title as SIGNED) AS casted_column FROM data_table ORDER BY `title` DESC
答案 0 :(得分:1)
如果您的标题总是以4位数结尾,您可以获取该数字并使用排序
SELECT title
FROM data_table
ORDER BY substr(`title`, -4) DESC , title DESC
答案 1 :(得分:1)
使用RIGHT
获取最后4位数字,然后将其转换为无符号并对其进行排序
SELECT title
from tbl
order by cast(right(title,4) as unsigned) desc, title desc