12-06-2014, 07:40 PM
Citation :Je dois retourner le dernier auteur à avoir poster une réponse dans chaque catégorie(il y en a 12).
Donc, je suppose qu'il s'agit de renvoyer les 12 catégories, avec l'auteur du dernier message pour chaque catégorie (et pas le dernier auteur à avoir posté dans chacune des 12 catégories).
Je vois un champ `forum_reponses`.`forum_reponses_id` donc je suppose qu'il s'agit d'une clef primaire, auto incrémentée... On pourrait s'en servir, en considérant que si id1 < id2 alors date1 < date2 (un message plus récent qu'un autre aura un ID plus grand).:
SELECT `forum_reponses`.`categorie`, `forum_reponses`.`auteur_pseudo`
FROM
(
SELECT MAX(`forum_reponses`.`forum_reponses_id`) AS `max_id`
FROM `forum_reponses`
GROUP BY `forum_reponses`.`categorie`
) AS `forum_reponses_max_ids`
LEFT JOIN `forum_reponses` ON `forum_reponses_max_ids`.`max_id` = `forum_reponses`.`forum_reponses_id`
LIMIT 12
Non testé, mais cela me semble être un approche pas trop crade pour des perfs correctes.
Indexer les colonnes "forum_reponses_id" et "categorie" me semble indispensable.