On veut selectionner les derniers enregistrements d'une table en groupant par une colonne :
on pourrait penser que ça ça marche :
SELECT p.* FROM ( SELECT * FROM posts ORDER BY id DESC -- or date desc ) AS p GROUP BY p.author
pour que ça marche il faut ajouter un inner join sur la même table, max(id)
le group by se retrouve alors dans le join
SELECT p.* FROM post as p INNER JOIN ( SELECT max(id) maxid FROM post GROUP BY author ) p2 p.id = p2.maxid
sinon on peut utiliser max(date), mais il faut alors ajouter le champs qui sert a grouper pour que la "clé" (author+date) soit unique
SELECT p.* FROM post as p INNER JOIN ( SELECT max(date) maxdate, author FROM post GROUP BY author ) p2 ON p.author = p2.author AND p.date = p2.maxdate