Requête MySQL count sur plusieurs champs
Fermé
w00t w00t
-
21 févr. 2012 à 07:10
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 - 21 févr. 2012 à 09:51
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 - 21 févr. 2012 à 09:51
A voir également:
- Requête MySQL count sur plusieurs champs
- Mysql community server - Télécharger - Bases de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Générique champs elysées john miles - Forum Musique / Radio / Clip
- Word mettre à jour tous les champs ✓ - Forum Word
5 réponses
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
21 févr. 2012 à 09:04
21 févr. 2012 à 09:04
Bonjour,
Pouvez-vous nous dire ce que vous avez tenté pour vos count ?
Sinon, moi je verrais bien de faire ça en deux temps :
- d'abord en récupérant le score de tout le monde avec un tableau nom | count(resultat), en SQL
- puis en récupérant dans un second temps en php le meilleur score (qui peut être partagé donc on met ça dans un tableau)
Pouvez-vous nous dire ce que vous avez tenté pour vos count ?
Sinon, moi je verrais bien de faire ça en deux temps :
- d'abord en récupérant le score de tout le monde avec un tableau nom | count(resultat), en SQL
- puis en récupérant dans un second temps en php le meilleur score (qui peut être partagé donc on met ça dans un tableau)
Je galère depuis deux heures là-dessus, honnêtement je ne sais plus trop ce que j'ai testé, beaucoup beaucoup de choses... Je suis en train de lire de la doc pour faire des JOIN, mais n'ayant jamais utilisé ça encore, je patauge, je patauge...
EDIT : J'ai réussi à le faire pour une colonne, pas très difficile dans l'absolu :
Mais pour gérer les 2 autres colonnes, alors là je sèche !
EDIT : J'ai réussi à le faire pour une colonne, pas très difficile dans l'absolu :
SELECT joueur1, COUNT(joueur1) AS nbjoueur1 FROM sandbox GROUP BY joueur1 ORDER BY nbjoueur1 DESC LIMIT 0,10
Mais pour gérer les 2 autres colonnes, alors là je sèche !
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
Modifié par AssassinTourist le 21/02/2012 à 09:15
Modifié par AssassinTourist le 21/02/2012 à 09:15
Et ma solution ne te convient pas ?
Tu peux sinon, faire une première requête sql pour avoir le resultat maximum, puis après faire une requête avec un where resultat = maximum
Tu peux sinon, faire une première requête sql pour avoir le resultat maximum, puis après faire une requête avec un where resultat = maximum
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
Modifié par AssassinTourist le 21/02/2012 à 09:18
Modifié par AssassinTourist le 21/02/2012 à 09:18
Ok =)
Tu veux quelle solution au final ? La première ou la deuxième ?
Tu veux quelle solution au final ? La première ou la deuxième ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
21 févr. 2012 à 09:34
21 févr. 2012 à 09:34
Il y a certainement possibilité de le faire en une requête avec du select du max des sum de count.
Mais mieux vaut le faire en 2 temps ;-)
Mais mieux vaut le faire en 2 temps ;-)
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
Modifié par AssassinTourist le 21/02/2012 à 09:48
Modifié par AssassinTourist le 21/02/2012 à 09:48
Bonjour,
Pour faire le count sur tes trois colonnes, peut-être essayer la solution de Toxine sur ce post => https://forums.commentcamarche.net/forum/affich-9023738-sql-count-distinct-sur-2-champs
Enfin... partir de là.
Pour faire le count sur tes trois colonnes, peut-être essayer la solution de Toxine sur ce post => https://forums.commentcamarche.net/forum/affich-9023738-sql-count-distinct-sur-2-champs
select count(*) from ma_table WHERE siren IN (select distinct siren from ma_table) AND nic IN (select distinct nic from ma_table)
Enfin... partir de là.
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
Modifié par AssassinTourist le 21/02/2012 à 09:51
Modifié par AssassinTourist le 21/02/2012 à 09:51
Sinon peut-être avec INNER JOIN :
SELECT count(*) FROM sandbox s1 INNER JOIN sandbox s2 on s2.joueur2 = s1.joueur1 INNER JOIN sandbox s3 on s3.joueur3 = s1.joueur1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question