Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1873 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème select max mysql

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème select max mysql

n°1974010
tintinduwe​b
Posté le 15-03-2010 à 18:43:37  profilanswer
 

Bonjour,  
 
Je suis chargé d'analyser les résultats des élections régionales. J'ai 3 tables :
 
- ville (id, nom)  
- lister (id, nom)  
- resultat (id, id_ville, id_liste, voix)
 
Je voudrais connaître la liste qui a fait le meilleur score dans chaque ville et ensuite afficher ces villes en selectionnant une liste. En clair, je voudrais connaître les villes dans lesquelles une liste a fait les meilleurs résultats.  
Le problème, c'est que je sèche complétement sur la requête. J'arrive à selectionner le max(voix) dans chaque ville mais je n'arrive pas en même temps à afficher le nom de la liste.  
 
En résumé, je veux connaître toutes les villes dans lesquelles la liste X arrive en tête...
 
Si quelqu'un pouvait m'aider...  
 
D'avance merci !

mood
Publicité
Posté le 15-03-2010 à 18:43:37  profilanswer
 

n°1974016
CAJAX
Posté le 15-03-2010 à 19:32:11  profilanswer
 

Pourquoi MAX ?
Utilsez COUNT (*)
 
par example:
 select ville.nom, count(resultat.*) as count from ville, resultat where resultat.id_ville = ville.id and id_list=*LISTE_X* group by resultat.id_ville order by count(resultat.*) desc
 
LISTE_X = votre numero

n°1974071
tintinduwe​b
Posté le 15-03-2010 à 23:12:41  profilanswer
 

Je ne comprends pas la syntaxe count(resultat.*)
 
Mon idée c'est de récupérer la plus grande valeur de voix (donc la liste gagnante) pour chaque ville et de savoir si cette liste correspond à celle que je recherche...

n°1974117
art_dupond
je suis neuneu... oui oui !!
Posté le 16-03-2010 à 11:41:14  profilanswer
 

Sais pas si c'est beau mais ça devrait marcher
 
 
Les listes gagnantes pour chaque ville :

Code :
  1. select v.nom, l.nom from ville v inner join lister l inner join resultat r on l.id=r.id_liste and v.id=r.id_ville where r.voix=(select MAX(voix) from resultat where id_ville=r.id_ville group by id_ville);


 
La liste gagnante pour une ville :

Code :
  1. select l.nom from ville v inner join lister l inner join resultat r on l.id=r.id_liste where v.id={ID_VILLE} and r.voix=(select MAX(voix) from resultat where id_ville={ID_VILLE} group by id_ville);


 
Les villes gagnées par une liste :

Code :
  1. select v.nom, l.nom from ville v inner join lister l inner join resultat r on l.id=r.id_liste and v.id=r.id_ville where l.id={ID_LISTE} AND r.voix=(select MAX(voix) from resultat where id_ville=r.id_ville group by id_ville);


---------------
oui oui
n°1974147
deuspi
Posté le 16-03-2010 à 14:44:30  profilanswer
 

tintinduweb a écrit :

Bonjour,  
 
Je suis chargé d'analyser les résultats des élections régionales. J'ai 3 tables :
 
- ville (id, nom)  
- lister (id, nom)  
- resultat (id, id_ville, id_liste, voix)
 
Je voudrais connaître la liste qui a fait le meilleur score dans chaque ville et ensuite afficher ces villes en selectionnant une liste. En clair, je voudrais connaître les villes dans lesquelles une liste a fait les meilleurs résultats.  
Le problème, c'est que je sèche complétement sur la requête. J'arrive à selectionner le max(voix) dans chaque ville mais je n'arrive pas en même temps à afficher le nom de la liste.  
 
En résumé, je veux connaître toutes les villes dans lesquelles la liste X arrive en tête...
 
Si quelqu'un pouvait m'aider...  
 
D'avance merci !


Salut,
Et comme ça, ça marcherait pas ?

Code :
  1. SELECT ville.id, ville.nom, lister.id, lister.nom, MAX(voix)
  2. FROM resultat
  3. JOIN lister ON resultat.id_liste = lister.id
  4. JOIN ville ON resultat.id_ville = ville.id
  5. GROUP BY ville.id, ville.nom, lister.id, lister.nom


J'ai pas testé je précise...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème select max mysql

 

Sujets relatifs
probleme excelprobleme redirection
Trigger en MySQLProbleme Log PHP optimisé avec EACCELERATOR
[Résolu] Problème de socket urlretrieve[php/Mysql] Probleme requete select
probleme : Select d'une requette MYSQL[Mysql] problème avec SELECT WHERE IN
[php/Mysql] Problème avec SELECT COUNT(*)[php mySQL] ! ptit problème avec select distinct et order by
Plus de sujets relatifs à : Problème select max mysql


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR