Problème select Max

Problème select Max - PHP - Programmation

Marsh Posté le 06-06-2012 à 22:11:59    

Bonsoir,
 
J'ai une table tab_sum_voix (voix, ville, circ, id_candidat) avec plusieurs candidats dans chaque ville. Je voudrai connaître le candidat qui a le plus de voix dans chaque ville. J’effectue donc la requête suivante :
 
SELECT MAX(voix), ville, circ, id_candidat FROM tab_sum_voix GROUP BY nom_ville, circ
 
Tout va bien sauf qu'elle ne me donne pas le bon id_candidat...
 
Quelqu'un peut-il  m'expliquer pourquoi car là je nage !
 
D'avance merci !

Reply

Marsh Posté le 06-06-2012 à 22:11:59   

Reply

Marsh Posté le 07-06-2012 à 10:38:24    

Parce que le group by procède à un regroupement de plusieurs lignes en prenant les valeurs de la première ligne, sauf pour le champ voic où là, tu lui dis de prendre le max.
En gros, faut passer par une sous requête :

Code :
  1. SELECT v.voix, v.ville, v.circ, v.id_candidat FROM ville v, (SELECT MAX(vt.voix) FROM ville vt GROUP BY nom_ville, circ) AS Tmp WHERE tmp.voix = v.voix


Ca devrait le faire.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-06-2012 à 11:18:01    

Faut pas faire le lien sur la ville plutôt ?
 

Code :
  1. SELECT v.voix, v.ville, v.circ, v.id_candidat FROM ville v, (SELECT vt.ville, MAX(vt.voix) FROM ville vt GROUP BY nom_ville, circ) as Tmp WHERE tmp.ville = v.ville


 


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 07-06-2012 à 11:44:19    

Ben faudrait surtout qu'il y ait une clé primaire dans ta table tab_sum_voix comme ça suffirait de faire le lien dessus. Parce que là, faudrait faire le lien sur ville ET voix.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed