sql >> Database >  >> RDS >> Mysql

Probleem bij groeperen

Probeer deze eens (laat me weten of het werkt):

SELECT forum_categories.title, forum_messages.author, 
   forum_messages.date AS last_message
FROM forum_categories
JOIN forum_topics ON forum_topics.category_id=forum_categories.id
JOIN forum_messages ON forum_messages.topic_id=forum_topics.id
JOIN (SELECT MAX(m.date) as date, top.category_id  
     FROM forum_messages m
     JOIN forum_topics top ON m.topic_id = top.id
     GROUP BY top.category_id) as t
  ON t.category_id = forum_topics.category_id AND t.date = forum_messages.date
WHERE forum_categories.id=6
GROUP BY forum_categories.id

Hier is een tweede optie:

SELECT forum_categories.title, forum_messages.author, 
       forum_messages.date AS last_message
FROM forum_categories
JOIN forum_topics ON forum_topics.category_id=forum_categories.id
JOIN forum_messages ON forum_messages.topic_id=forum_topics.id
WHERE forum_categories.id=6
AND forum_messages.date = (SELECT MAX(date)
                           FROM forum_messages t
                           WHERE t.topic_id = forum_topics.id)
GROUP BY forum_categories.id
ORDER BY forum_categories.date ASC


  1. Hoe de GO-verklaring in SQL Server te gebruiken om records in de identiteitskolom in te voegen - SQL Server / T-SQL-zelfstudie, deel 42

  2. SQL-query gebruiken om te bepalen of een tabel bestaat

  3. mysql cte . gebruiken met en invoegen waarschuwt een syntaxisfout

  4. Hoe gebruik ik een lijst als parameterbron voor SQL-query's met Vertx JDBC Client?