2015-02-24 52 views
0

我想上次訪問客戶時最後一次訪問我。Mysql:訂單錯誤返回按

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不工作?

+3

和日期存儲爲varchar? – 2015-02-24 16:23:36

+1

不要將日期存儲爲varchar! – Jens 2015-02-24 16:25:03

+0

那麼爲什麼ASC如果你需要最新的?應該是'ORDER BY \'auto_problems \'。\'add_date \'DESC LIMIT 1' – Alex 2015-02-24 16:30:01

回答

2

你必須代表日期的日期您的字符串轉換:

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。這是一個更好的做法。

+0

謝謝。它的工作;)我沒有permision改變表結構@DB。 – 2015-02-24 16:49:30