2009-02-02 86 views
0

假設地說,我有兩個表名爲foobarSQL表子查詢

富有列foo_idfoo_fluff 酒吧列bar_idfoo_idtimestamp

我需要一個查詢將返回檢索一行任何foo_id該表欄包含,與最新的時間戳。

所以,如果bar有三行,其中兩個的foo_id爲1,其中一個具有foo_id 2,它將返回2行。對於foo_id 1,它將返回具有兩行中較大時間戳的行。

回答

2

我認爲這是你在找什麼(除非它必須是一個子查詢,而不是一個連接)

select max(bar.timestamp), foo.foo_fluff 
from foo 
inner join bar 
      on foo.foo_id = bar.foo_id 
group by foo.foo_fluff 
0
SELECT timestamp FROM bar GROUP BY foo_id ORDER BY timestamp DESC 

剛剛加入foo表上foo_id如果你想選擇foo表中的數據