J'me suis auto-bloqué dans une requète SQL. J'essaye d'optimiser le nombre de requètes SQL de mes programmes, mais parfois c'est difficile
En fait j'ai envie d'avoir le dernier message de chaque sujet, ainsi que le nombre de messages dans ce sujet.
J'ai essayé cette requête :
CODE
SELECT a.nom, max(b.date_envoi) AS dernier, count(b.id)-1 AS nbrep, b.pseudo
FROM integ_sujets a, integ_message b
WHERE b.id_sujet = a.id
GROUP BY b.id_sujet
ORDER BY dernier DESC
FROM integ_sujets a, integ_message b
WHERE b.id_sujet = a.id
GROUP BY b.id_sujet
ORDER BY dernier DESC
(La requête est volontairement simplifiée, pour simplifier la lecture)
Le problème est que "pseudo" ne correspond pas au pseudo de la ligne avec max(b.date_envoi). En gros, une fois que j'ai la date maximale, j'aimerais lui attacher le pseudo qui correspond au dernier message, mais il me renvoie le premier pseudo qu'il trouve, à cause de GROUP BY.
Vous auriez une idée pour en gros garder la "dernière ligne" de chaque sujet, tout en garder le group by pour compter le nombre de messages ?
En résumé, je voudrais :
- compter le nombre de messages dans chaque sujet
- garder le dernier message
Merci d'avance de vos lumières...