2016-05-18 73 views
0

下面是數據集:MySQL的集團,最近

Person Status Date Eric 1 1/1/2015 Eric 2 2/1/2015 Eric 3 3/1/2015 John 1 3/1/2015 John 2 2/1/2015 John 1 1/1/2015

我想獲得最新的日期,以及其相關的狀態,由人進行分組。我試着使用子查詢先找出最近的日期:

SELECT MAX(Date), Person FROM tbl1 GROUP BY Person

然後加入該回到原來的表,這樣的人,我知道哪個日期是最新的。但我正在努力如何確定最新的狀態。我只是看不到合適的聚合器。謝謝。

回答

2
select tbl1.* 
from tbl1 
join 
(
    SELECT Person, MAX(Date) as m_date 
    FROM tbl1 
    GROUP BY Person 
) tmp on tbl1.Person = tmp.Person 
    and tbl1.date = tmp.m_date 
+0

忘記關於多個加入標準....可愛。我喜歡它,謝謝。 –

+0

呵呵,你是天才......我在這工作了近2個小時。非常清楚 –