2017-11-10 78 views
0

假設表格如下:SQL查詢

DATE  |ARRANGMENT_STATUS | CUSTOMER 
----------+------------------+------- 
2017-01-01|BROKEN   |0001 
2017-02-01|OK    |0001 
2017-03-01|BROKEN   |0001 

我怎樣才能查詢數據庫,從而導致給我最新的損壞狀態(2017年3月1日) - 我不想讓破狀態,如果它們不是最新的(2017年1月1日)

希望它讓SENCE, 感謝

+1

表格結構 –

+0

請在表格和代碼前面放上4個空格,以便格式正確。您也可以突出顯示該塊並點擊代碼按鈕。請停止編輯它。你顯然沒有改善你的問題。 – JNevill

回答

0

抓住最大(日期)爲狀態:

SELECT max(date) FROM table WHERE arrangement_status = 'Broken' 
1

如果你想在該行中的所有信息,你可以使用order bylimit

select t.* 
from t 
where t.arrangement_status = 'Broken' 
order by t.date desc 
limit 1; 

如果你只想要日期,JNevill的解決方案是好的。

+0

好像限制現給我從SQL廣告Excel中的錯誤(連接到數據源:SELECT * T. FROM T WHERE T.C_STATUS = 'B' ORDER BY T.ARRANGMENT_DATE DESC LIMIT 1; –

+0

'LIMIT '是MySQL的一個基本部分,如果你的數據庫不支持它,那麼你可能有一個不同的數據庫,並且應該適當地標記你的問題。 –