2012-04-08 7 views
2

Ich habe 10000 Kategorien von Beiträgen und 1200000 Beiträge (jeder Beitrag hat Veröffentlichung dae). Ich möchte das Datum des letzten Posts für jede Kategorie mit ein oder zwei SQL-Abfragen abrufen. Dies ist die Struktur der Datenbank:Benötigen Sie das neueste Datum der Änderung der Kategorie (nachträgliche Änderung) für 10000 Kategorien

 
Categories 
+--+----+ 
|id|name| 
+--+----+ 

CategoriesToPosts 
+--------+----+ 
|category|post| 
+--------+----+ 

Posts 
+--+------------+- -+ 
|id|lastModified| ... | 
+--+------------+- -+ 

Antwort

2

Verwenden Sie einen JOIN, GROUP BY und MAX:

SELECT 
    CategoriesToPosts.category, 
    MAX(Posts.lastModified) AS lastModified 
FROM CategoriesToPosts 
LEFT JOIN Posts 
ON Posts.id = CategoriesToPosts.post 
GROUP BY CategoriesToPosts.category 
+0

Das ist mein Problem gelöst. Vielen Dank! – user1267570

Verwandte Themen