str_to_date的mysql顺序不起作用

时间:2012-11-22 18:28:03

标签: mysql

我有一个日期表(实际上它们是这种格式的字符串时间:2004年3月)。我想根据这个日期对记录进行排名,所以我有以下查询:

SELECT *,STR_TO_DATE(detail,'%Y-%b') 
FROM table2 JOIN user_table 
ON table2.user_id = user_table.id 
ORDER BY STR_TO_DATE(detail,'%Y-%b') DESC 
WHERE table2_col = 11;

但是这个查询不起作用,它要求我检查第5行'WHERE table2_col = 11'附近的语法错误

如果我删除ORDER BY STR_TO_DATE(详细信息,'%Y-%b')DESC,那么一切正常。所以我认为错误来自str_to_date?我的代码出了什么问题? 感谢

1 个答案:

答案 0 :(得分:2)

顺序应该在where子句

之后

试试这个::

SELECT *,STR_TO_DATE(detail,'%Y-%b') 
FROM table2 JOIN user_table 
ON table2.user_id = user_table.id 

WHERE table2_col = 11
ORDER BY STR_TO_DATE(detail,'%Y-%b') DESC 
;