Mysql:错误的 return 与排序依据

Mysql: Wrong return with Order By

我想实现上次客户上次访问我的时间。

auto Table Structure:  
---id_auto
---client_id

auto_problems Table Structure
--id_auto
--add_date  

有查询

"SELECT add_date
FROM auto_problems
LEFT JOIN auto ON auto_problems.id_auto = auto.id_auto
WHERE client_id = 466
ORDER BY `auto_problems`.`add_date` ASC"

查询return:

01/07/2014
04/03/2014 **<<<---- ???**
11/04/2014
16/09/2014

为什么 ODER BY add_date ASC 不起作用?

您必须将表示日期的字符串转换为日期:

SELECT add_date
FROM auto_problems
LEFT JOIN auto ON auto_problems.id_auto = auto.id_auto
WHERE client_id = 466
ORDER BY STR_TO_DATE(`auto_problems`.`add_date`,'%d/%m/%Y') ASC

但是您应该将数据类型更改为 date。这是一个更好的做法。