genmin Posté 17 Décembre 2004 Posté 17 Décembre 2004 bonjour, voilà j'ai une série d'enregistrement avec un champs 'code' (code postal) et je souhaiterai réaliser une requete pouvant me donner le nombre d'enregistrement par département ( 13001, 13002, 13003 étant dans le meme département 13) Est ce que quelqu'un à une idée ?
Titag Posté 17 Décembre 2004 Posté 17 Décembre 2004 Salut, Essaye avec WHERE code_postal='13%' Je ne sais pas si ca marche avec un type numérique par contre.
Judefruit Posté 17 Décembre 2004 Posté 17 Décembre 2004 Essaye avec WHERE code_postal='13%' <{POST_SNAPBACK}> Ah presque SELECT * FROM ta_table WHERE code_postal LIKE '13%'
genmin Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 (modifié) Je crois que je me suis mal fait comprendre. admetons que j'ai 10 enregistrement au total: 1 -> 13007 2 -> 13005 3 -> 13007 4 -> 75014 5 -> 13007 6 -> 13005 7 -> 75014 8 -> 13005 9 -> 75015 10 -> 13005 je voudrai avoir comme résultat 13000 -> 7 75000 -> 3 Modifié 17 Décembre 2004 par genmin
kamino Posté 17 Décembre 2004 Posté 17 Décembre 2004 Bonjour, Si çela peut t'aider: create table test(a int); insert into test (a) values(75020); insert into test (a) values(75020); insert into test (a) values(75020); insert into test (a) values(75016); select a,count(a) from test group by a; +-------+----------+ | a | count(a) | +-------+----------+ | 75016 | 1 | | 75020 | 3 | +-------+----------+ 2 rows in set (0.00 sec) Cordialement,
kamino Posté 17 Décembre 2004 Posté 17 Décembre 2004 je voudrai avoir comme résultat 13000 -> 7 75000 -> 3 <{POST_SNAPBACK}> ah pardon, tu veux le nombre d'occurence par code postal de département ? par exemple: 75000 -> 10 j'ai 10 arrondissements differents enregistré dans le 75 et pas j'ai 3 enregistrement dans le 20ème 2 dans le 16ème etc.. ?
genmin Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 (modifié) c'est presque ca, je voudrai savoir que j'ai 7 enregistrement dans le département 13 (13007=3 + 13005=4) et 3 dans le département 75 (75014=2 + 75015=1) ps: j'ai pas besoin du détail. seul le résultat par département m'interesse Modifié 17 Décembre 2004 par genmin
kamino Posté 17 Décembre 2004 Posté 17 Décembre 2004 je vois un truc comme ça mais c'est sûrement pas parfait: select "75000" as dep, count(a) from test where a like "75%" group by dep; Si ça peut t'aider....
genmin Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 ok on ce rapproche, effectivement c'est bien cela, mais je me demandais si il était possible de réaliser une seul requete pour tout les départements, ou dois je me tapper autant de requete que de département francais ???
kamino Posté 17 Décembre 2004 Posté 17 Décembre 2004 Ben en fait, il faudrait voir s'il existe pas des fonctions dans mysql qui permettraient d'arrondir vers l'inférieur 25410 en 25000 par exemple, ainsi tu aurais un truc du genre : select fonctionkiarrondie(a) as dep, count(a) from test where a like "75%" group by dep; En fait je connais pas bien MySQL, faudrait lire attentivement la doc.
kamino Posté 17 Décembre 2004 Posté 17 Décembre 2004 trouvé !! A condition que ton champ a, qui contient les codes postaux, soit un type numeric, int : en reprenant mon test: insert into test (a) values(13000); SELECT TRUNCATE(a,-3) as dep, count(a) from test group by dep; +-------+----------+ | dep | count(a) | +-------+----------+ | 13000 | 1 | | 75000 | 4 | +-------+----------+ 2 rows in set (0.00 sec)
genmin Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 de la balle. C'est nickel, ca marche d'enferre
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant