2012-09-11 35 views
0

這是表Posts結構(也有說是沒有問題的重要其他列):從類似行中選擇每個分鐘(日期)?

Verb | Object | Date 

我被動詞分組,然後對象,將所有類似的行,這是我當前的查詢:

SELECT * FROM Posts GROUP BY Verb, Object 

我需要知道每個組中最老的行的日期。如何才能做到這一點?

+1

'SELECT動詞,對象,min(日期)FROM職位GROUP BY動詞,對象'? –

回答

0

每個組中得到最古老的日期,那麼試試這個:

SELECT Verb, Object, MIN(`date`) AS min_date 
FROM Posts 
GROUP BY Verb, Object; 

如果你想獲取其最古老的日期的記錄在每個組中,然後試試這個:

然後重新啓動MyS QL服務器。

SELECT a.* 
FROM Posts a 
    INNER JOIN (SELECT Verb, Object, MIN(`Date`) AS `Date` 
       FROM Posts 
       GROUP BY Verb, Object 
       ) b 
       ON a.Verb = b.Verb 
        AND a.Object = b.Object 
        AND a.`Date` = b.`Date`; 
+0

您的第二個查詢需要在子查詢和連接條件中包含Verb和Object。否則,如果動詞/對象A有一行的日期與動詞/對象B的最短日期相同,那麼該行也會被返回。 – Barmar

+0

我的錯誤。感謝您指出。更新了我的答案。 – Omesh

相關問題