Vous n'êtes pas identifié(e).
J'ai normalement pas de problème pour interroger une base mysql, mais cette fois ci je bloque.
J'ai une banque de donner avec des gens et des villes, comment faire pour compter le nombre de personne dans chaque ville et se sans connaitre le nom des ville a l'avance? En gros, je dois balayer la table pour connaitre chaque ville inscrit et a chaque ville incrémenter un compteur de 1
Merci de votre aide
Hors ligne
Bonjour,
Je crois que pour faire ça il faut utiliser la fonction "COUNT(*)" avec "GROUP BY ville". Il faut remplacer l'étoile par le champ qu'il faut.
Ca donne quelque chose du style
SELECT COUNT(*) FROM ma_base GROUP BY ville
Je ne sais plas trop mais ça devrait t'orienter.
Hors ligne
Merci, cette piste semble prometteuse et fonctionnelle
Hors ligne
Bonjour,
J'apporte tout de même quelques précisions.
1) Il faut travailler idéalement à partir de la table de jonction villes-personnes.
2) N'utilises surtout pas *
3) la base de ta requête doit être SELECT DISTINCT ville_id, COUNT(personne_id) FROM villes-personnes GROUP BY (ville_id)
4) Si tu n'as pas de table de jonction et que tu as enregistré la ville d'appartenance d'une personne dans par exemple la table personne, il te faudra alors passer par une requête dérivée dans laquelle il te faudra reconstruire le recensement sans doublons des communes définies dans ta base de données.
++
Dernière modification par Jc (10-09-2011 22:26:19)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
2) N'utilises surtout pas *
Dans le COUNT(*), pourquoi pas ?
3) la base de ta requête doit être SELECT DISTINCT ville_id, COUNT(personne_id) FROM villes-personnes GROUP BY (ville_id)
Avec GROUP BY ville_id le DISTINCT est totalement inutile, de même que les parenthèses entourant les noms de colonne de groupage.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne