一,问题描述:
通过时间字符串排序,发现:"3日"比"31日"靠前
二、原因分析
因为comment_time字段是字符型,字符串排序从左到右, "日" 比 "1" 大,所以就是上图那种排序
三、解决办法
把时间字符串格式化即可,使用函数:STR_TO_DATE(str, format)
STR_TO_DATE( `comment_time`,'%Y年%m月%d日')
格式化时间字符串并按时间排序:
SELECT * FROM qx_monitoring_comment WHERE attraction_id = 1 ORDER BY STR_TO_DATE( `comment_time`,'%Y年%m月%d日') DESC;