2017-11-10 79 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的一个基本部分,如果你的数据库不支持它,那么你可能有一个不同的数据库,并且应该适当地标记你的问题。 –