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
。这是一个更好的做法。
我想实现上次客户上次访问我的时间。
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
。这是一个更好的做法。