按'排序MYSQL结果;月份';当月份存储为字符串时
我的数据库中有一列存储了许多产品的发布月份,它存储为单词“一月”、“三月”等 我需要按月份降序输出产品,但问题是,因为月份存储为字符串,所以我当前的查询是按字母顺序按月对产品进行排序 这是我目前的问题按'排序MYSQL结果;月份';当月份存储为字符串时,mysql,sql,Mysql,Sql,我的数据库中有一列存储了许多产品的发布月份,它存储为单词“一月”、“三月”等 我需要按月份降序输出产品,但问题是,因为月份存储为字符串,所以我当前的查询是按字母顺序按月对产品进行排序 这是我目前的问题 SELECT * FROM models ORDER BY year DESC, month DESC LIMIT 3 有没有可能我仍然可以按月份降序排序,例如,12月,11月 一种方法是使用field(): 或者,将值转换为最新值: order by str_to_date(concat(ye
SELECT * FROM models ORDER BY year DESC, month DESC LIMIT 3
有没有可能我仍然可以按月份降序排序,例如,12月,11月 一种方法是使用
field()
:
或者,将值转换为最新值:
order by str_to_date(concat(year, '-', month), '%Y-%M')) desc
为什么不将月份存储为整数?也就是说,MySQL知道月份的名称,因此您可以要求它利用其知识
order by str_to_date(concat(year, '-', month), '%Y-%M')) desc