Bonjour,

J'ai recherché sur le forum et sur le web sans arriver à trouver une réponse à mon problème.
J'ai des commentaires qui forment une sorte de chat, liés à une ou plusieurs visites client, qui dépendent donc d'un id visite et d'un id client, et qui s'ordonnent par date (vccom_updated_at)
Si je fais :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT  c.raison, DATE_FORMAT(vccom_updated_at, '%d %b %Y à %T' ) as vccom_updated_at, vc.visite_id
FROM visite_client_commentaire vcc
LEFT JOIN user u ON u.id = vcc.vccom_user_id
LEFT JOIN visite_client vc ON vc.id = vcc.vccom_vicl_id
LEFT JOIN client c on c.id = vc.client_id
WHERE vc.visite_id = 69086 AND vc.client_id = 5 
ORDER by vcc.vccom_updated_at DESC
J'ai la liste de mes commentaires pour une visite donnée et un client donné.
Le but c'est d'avoir à la fois le nbr de commentaires sur une discussion (le COUNT des commentaires pour une visite et un client) et la date du dernier commentaire émis.
Seulement, si je fais, à partir de la requête précédente (où vccom_id est l'id des commentaires):
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
SELECT  COUNT (vccom_id) as nbr_commentaire , c.raison, DATE_FORMAT(vccom_updated_at, '%d %b %Y à %T' ) as vccom_updated_at, vc.visite_id
FROM visite_client_commentaire vcc
LEFT JOIN user u ON u.id = vcc.vccom_user_id
LEFT JOIN visite_client vc ON vc.id = vcc.vccom_vicl_id
LEFT JOIN client c on c.id = vc.client_id
WHERE vc.visite_id = 69086 AND vc.client_id = 5 
ORDER by vcc.vccom_updated_at DESC
LIMIT 0,1
J'ai bien le nombre de commentaires mais le 'order by desc' ne fonctionne plus et le vccom_updated_at en résultat contient la date du premier commentaire et plus du dernier.
J'ai essayé avec des GROUP BY mais ça ne change rien.

Quelqu'un aurait une idée ? (je me doute qu'il y a un tourne autour en plaçant le COUNT dans une sous-requête mais j'aimerai surtout comprendre le problème et voir s'il n'y a pas une solution plus simple et optimisée)
Merci d'avance