Mysql:Order By 返回错误

标签 mysql sql-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"

查询返回:

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

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

关于Mysql:Order By 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28700970/

相关文章:

mysql - 分组并从每个组中获取最新行

mysql - 尝试构建复杂的嵌套连接

Php/Mysql While 循环 : Date format

mysql - 如果其他表中不存在 id,则获取不同的行并使用合并

java - JPA manytomany 在使用@JoinTable 时保持列表顺序

mysql order varchar 字段为整数

mysql - 在 RHEL 上安装的 mysql 中设置 lower_case_table_names=1 ,无需重新安装

php - 如何使用 php 转义字符串中的单引号(撇号)

sql - 如何在 SQL 查询中设置条件逻辑以调整优先级?

Django order_by相关集