2016-07-01 41 views
-2

我有表(afk_map_data):Mysql的獲得日期最近的行鍼對每個特定組

id map_id state_id measures_id value created_date 

問題是>>我想最近CREATED_DATE僅獲取measures_id值的最新行

我已經嘗試了許多解決方案,我試過很多東西,但它是愚蠢的,我發佈此select語句是清楚我的問題

SELECT md.id,md.measures_id,md.value,md.created_date FROM afk_map_data md  
WHERE 
md.map_id = 1 
AND md.state_id = 2 
AND md.measures_id = 4 


the result was : 

id measures_id value created_date 
1   4  777 2016-07-03 
2   4  888 2016-07-03 
3   4  999 2016-07-02 
4   4  555 2016-07-02 

the result that i want is : 

id measures_id value created_date 
1   4  777 2016-07-03 
2   4  888 2016-07-03 

Thanks a lot .. 
+0

其中STATEID來自 – mohan111

+0

你如何定義「最近的創建日期」?使用< or >運算符排除所有舊條目。我不確定我是否完全理解你想要達到的目標。 – KJaeg

+0

對不起,我的壞問題所有我想要的是清除問題......感謝您的幫助:) –

回答

0

使用MAX條件上日期列

Select TT.id,T.measures_id,TT.value,T.d from afk_map_data TT 
     INNER JOIN (
     SELECT measures_id,MAX(created_date)d FROM afk_map_data 
     GROUP BY measures_id)T 
     ON T.d = TT.created_date 
WHERE 
TT.map_id = 1 
AND TT.state_id = 2 
AND TT.measures_id = 4 
+0

謝謝你,我是你的英雄:) –

+0

歡迎@NasouhAlmrstani – mohan111

相關問題