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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU]SELECT MAX avec GROUP BY

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]SELECT MAX avec GROUP BY

n°1742798
spos93
Posté le 07-06-2008 à 01:59:58  profilanswer
 

Bonjour à tous,
 
Voila j'ai une simple table 'votes' qui contient 2 champs tout 2 clé primaire
ip -  id
 
Et je voudrais afficher l'id qui contient le plus d'ip.
Voila la requête que j'ai pondu:
 

Code :
  1. SELECT id, count(ip)
  2. FROM votes
  3. GROUP BY ip
  4. HAVING MAX(count(ip))


 
La requête ne fonctionne pas et je n'arrive pas à l'écrire autrement.
 
Merci de votre aide


Message édité par spos93 le 07-06-2008 à 13:51:34
mood
Publicité
Posté le 07-06-2008 à 01:59:58  profilanswer
 

n°1742849
mrbebert
Posté le 07-06-2008 à 13:11:30  profilanswer
 

Quel SGBD ?
 
Avec MySQL :
 
select id
from (
  select id,count(1) c
  from votes
  group by id
)
order by c desc
limit 1
 
On crée une sous requête qui renvoie les id avec leur nombre d'ip ("c" ) et on prend la ligne avec le plus grand "c", c'est à dire la 1ère quand on trie par "c" décroissant :)

n°1742859
spos93
Posté le 07-06-2008 à 13:51:17  profilanswer
 

Bon ba écoute merci mrbebert ça marche parfaitement. Je viens d'apprendre que l'on peut créer sa propre sous table et la mettre dans un FROM.
 
Une toute petite correction  
 

Code :
  1. SELECT id
  2. FROM (
  3. SELECT id, count( 1 ) c
  4. FROM votes
  5. GROUP BY id
  6. )temp
  7. ORDER BY c DESC
  8. LIMIT 1


 
Il faut ajouter un un nom 'temp' à table crée car sinon mySQL te répond
#1248 - Every derived table must have its own alias  
 
Encore merci :)
 

n°1743049
Profil sup​primé
Posté le 08-06-2008 à 02:46:56  answer
 

je vois franchement pas l'interet de construire une requete dérivée pour ca !
 
c'est pas 10x plus simple ? :

Code :
  1. SELECT id
  2. FROM votes
  3. GROUP  BY id
  4. ORDER  BY count( ip )  DESC
  5. LIMIT 1


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU]SELECT MAX avec GROUP BY

 

Sujets relatifs
[résolu]Expression rationelleRESOLU Probleme (action="#") à ramplacer par (action="transfert.php")
[résolu] false = true[Résolu] Input et bouton radio : mettre une fonction en onClick
[RESOLU] PHP+Form + select[RESOLU] PHP+Array + boucle while
[résolu] Problème installation PHP5Mail avec des images (Bug sur Thunderbird ?) [RESOLU]
[Résolu][XLS] Raffraichissement d'1 cellule utilisant une fonction VBA 
Plus de sujets relatifs à : [RESOLU]SELECT MAX avec GROUP BY


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