Requête MySQL count sur plusieurs champs
Fermé
w00t w00t
-
21 févr. 2012 à 07:10
AssassinTourist Messages postés 5709 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 5709 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 download - Télécharger - Bases de données
- Le nom du champs de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Générique champs elysées john miles - Forum Musique / Radio / Clip
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
5 réponses
AssassinTourist
Messages postés
5709
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 310
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
5709
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 310
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
5709
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 310
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
4313
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
845
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
5709
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 310
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
5709
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 310
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