我在Stack Overflow和Google上看过很多帖子,但实际上并没有帮助
以下是这种情况,这些是我的列值:
ICT_Member_2014_06_02
ICT_Member_2015_05_05
Creative_Member_1992_09_01
Zealous_Ok_2015_12_22
所以我希望我的结果应该出现在字母表的基础上,然后是日期(数字), 它应首先按字母升序排序,然后再按日期排序。
对此有何解决方案?
由于
答案 0 :(得分:0)
SELECT * FROM yourTable ORDER BY ICT_Member_2014_06_02 DESC, Zealous_Ok_2015_12_22 DESC;
答案 1 :(得分:0)
试试这个
MySQL:首先按长度排序,然后按列值
排序SELECT col_name
FROM sorting_test
ORDER BY LENGTH(col_name), col_name
答案 2 :(得分:0)
试试这个:
ORDER BY col_value,
DATE(RIGHT(col_value,10)) DESC
ORDER BY中的第一项将处理您的前缀。
第二项 - DATE(RIGHT(col_value,10)
- 将提取您的值的最后十个字符 - 日期。然后它将尝试将它们作为DATE值处理,并按顺序对它们进行排序。如果日期转换失败(因为您的某些值没有日期),那么这些将在排序中排在第一位。