Récupérer le résultat d'un COUNT() SQL
Revan
-
newkiss Messages postés 127 Date d'inscription Statut Membre Dernière intervention -
newkiss Messages postés 127 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit soucis, je bosse sur un forum et je dois réussir à sélectionner le post qui a le plus de réponse.
La table est constituée de 3 champs : id_post, Numero_reponse, Text_reponse.
Je voudrais donc afficher uniquement LE ou LES posts (si plusieurs post ont le même nombre de réponses) qui ont le plus de réponses.
J'arrive bien à compter le nombre de réponses pour chaque post avec cette requête :
Toutefois je n'arrive pas à transcrire "Utilise le précédent résultat et sélectionne le ou les plus grand chiffres précédemment comptés".
J'ai bien essayé avec la commande MAX() mais sans grand succès.
Pourriez-vous m'aider à me débloquer je vous prie ?
Sachant que je dois faire ça en une seule requête SQL donc pas de php ou autre langage...
Merci d'avance !
J'ai un petit soucis, je bosse sur un forum et je dois réussir à sélectionner le post qui a le plus de réponse.
La table est constituée de 3 champs : id_post, Numero_reponse, Text_reponse.
Je voudrais donc afficher uniquement LE ou LES posts (si plusieurs post ont le même nombre de réponses) qui ont le plus de réponses.
J'arrive bien à compter le nombre de réponses pour chaque post avec cette requête :
SELECT COUNT(id_post) FROM REPONSE GROUP BY Numero_reponse
Toutefois je n'arrive pas à transcrire "Utilise le précédent résultat et sélectionne le ou les plus grand chiffres précédemment comptés".
J'ai bien essayé avec la commande MAX() mais sans grand succès.
Pourriez-vous m'aider à me débloquer je vous prie ?
Sachant que je dois faire ça en une seule requête SQL donc pas de php ou autre langage...
Merci d'avance !
A voir également:
- Récupérer le résultat d'un COUNT() SQL
- Comment recuperer un message supprimé sur whatsapp - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Comment récupérer un compte facebook piraté - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Récupérer mon compte facebook désactivé - Guide
8 réponses
Bonjour,
Peut - être que cela pourra t'aider:
Bien à toi,
MyTux.
Peut - être que cela pourra t'aider:
select max(nb) from ( select count(id_post) from reponse group by Numero_reponse )
Bien à toi,
MyTux.
Merci de ta réponse rapide.
Toutefois j'ai un message d'erreur à l'exécution que je n'ai jamais eu auparavant :
#1248 - Every derived table must have its own alias
Pourrais-tu m'éclairer ?
Merci.
Cordialement,
Revan
Toutefois j'ai un message d'erreur à l'exécution que je n'ai jamais eu auparavant :
#1248 - Every derived table must have its own alias
Pourrais-tu m'éclairer ?
Merci.
Cordialement,
Revan
Re bonjour,
Oui en effet, le système te demande de lui fournir un alias donc reprend la query ainsi:
Avec explication de la doc mysql:
http://dev.mysql.com/doc/refman/5.0/en/from-clause-subqueries.html
Bien à toi,
MyTux.
Oui en effet, le système te demande de lui fournir un alias donc reprend la query ainsi:
select max(nb) from ( select count(id_post) from reponse as nb group by Numero_reponse ) as reponse;
Avec explication de la doc mysql:
http://dev.mysql.com/doc/refman/5.0/en/from-clause-subqueries.html
Bien à toi,
MyTux.
Bonjour,
Merci bien, pour cette réponse mais malheureusement, j'ai toujours une erreur, me disant qu'il ne connait pas le champs nb, et c'est l'erreur que j'avais au début, qui fait que je ne sais pas comment récupérer le résultat du COUNT...
Pourrais-je solliciter une nouvelle fois de l'aide ?
Merci.
Cordialement,
Revan
Merci bien, pour cette réponse mais malheureusement, j'ai toujours une erreur, me disant qu'il ne connait pas le champs nb, et c'est l'erreur que j'avais au début, qui fait que je ne sais pas comment récupérer le résultat du COUNT...
Pourrais-je solliciter une nouvelle fois de l'aide ?
Merci.
Cordialement,
Revan
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup cela fonctionne, enfin presque :)
En effet, j'ai deux posts qui ont deux réponses chacun, toutefois la requête ne me renvoie qu'un post sur les deux...
Tu vas me haïr, désolé :)
Cordialement,
Revan
EDIT : Rectification : En ajoutant une réponse dans le post numéro 3, donc le post numéro 3 contient 3 réponse et le post 1 2 réponses, la requête me renvoie toujours comme résultat le post 1
En effet, j'ai deux posts qui ont deux réponses chacun, toutefois la requête ne me renvoie qu'un post sur les deux...
Tu vas me haïr, désolé :)
Cordialement,
Revan
EDIT : Rectification : En ajoutant une réponse dans le post numéro 3, donc le post numéro 3 contient 3 réponse et le post 1 2 réponses, la requête me renvoie toujours comme résultat le post 1
Pour reprendre, je veux afficher l'ID des posts contenant le plus de messages.
Dans le cas où le post 2 contient 2 messages et le post 3 2 message, le résultat de la requête doit renvoyer 2 ET 3.
Dans le cas où le post 2 contient 8 messages et les autres moins, le résultat de la requête doit être 2.
Cordialement,
Revan
EDIT : J'ai fait une erreur, j'avais inversé les champs comme un boul**, la requête fonctionne bien pour récupérer UN post, toutefois il y a toujours le soucis de récupération du cas où il y a plus d'un post avec un nombre égal de messages.
Dans le cas où le post 2 contient 2 messages et le post 3 2 message, le résultat de la requête doit renvoyer 2 ET 3.
Dans le cas où le post 2 contient 8 messages et les autres moins, le résultat de la requête doit être 2.
Cordialement,
Revan
EDIT : J'ai fait une erreur, j'avais inversé les champs comme un boul**, la requête fonctionne bien pour récupérer UN post, toutefois il y a toujours le soucis de récupération du cas où il y a plus d'un post avec un nombre égal de messages.