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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Requete qui compte un maximum...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Requete qui compte un maximum...

n°457951
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 10:01:13  profilanswer
 

Salut !!
 
  j'ai une requête qui me renvoie qqch du genre :
id    -    theme    -    sous-theme
1     -    aaaaa    -    sous-aaaa1
2     -    bbbbb    -    sous-bbbb1
2     -    bbbbb    -    sous-bbbb1
3     -    ccccc    -    sous-cccc1
3     -    ccccc    -    sous-cccc1
4     -    ddddd    -    sous-dddd1
7     -    ggggg    -    sous-gggg1
 
ce que je voudrais c'est connaître le nombre maximum de tuple qu'il peut y avoir avec un même id (ici : 2)
 
si qqun a compris, peut-il me dire comment faut-il que je modifie ma requête :

Code :
  1. SELECT theme.id, libelle_theme, libelle_soustheme
  2. FROM theme, soustheme
  3. WHERE theme.id = soustheme.themeCorrespondant


 
  merci d'avance !


Message édité par sire de Botcor le 15-07-2003 à 10:08:53

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
mood
Publicité
Posté le 15-07-2003 à 10:01:13  profilanswer
 

n°457961
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 10:18:02  profilanswer
 

avec  
 

Code :
  1. SELECT theme.id, COUNT(theme.id)
  2. FROM theme, soustheme
  3. WHERE theme.id = soustheme.themeCorrespondant
  4. GROUP BY theme.id


 
j'obtiens la liste des id avec leur nombre de theme chacun !
ce que je voudrais c'est qu'il ne m'affiche que le nombre maximum de la colonne de droite...
 
  comment faire ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°457972
polo021
Posté le 15-07-2003 à 10:27:14  profilanswer
 

select MAX(COUNT(theme.id))... ?

n°457973
hop le fou
Tu m'en diras tant
Posté le 15-07-2003 à 10:27:17  profilanswer
 

sire de botcor a écrit :

avec  
 

Code :
  1. SELECT theme.id, COUNT(theme.id)
  2. FROM theme, soustheme
  3. WHERE theme.id = soustheme.themeCorrespondant
  4. GROUP BY theme.id


 
j'obtiens la liste des id avec leur nombre de theme chacun !
ce que je voudrais c'est qu'il ne m'affiche que le nombre maximum de la colonne de droite...
 
  comment faire ?
 


 
having count theme.id >= (select max count (theme.id) from where group by theme.id) ?

n°457976
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 10:35:50  profilanswer
 

polo021 a écrit :

select MAX(COUNT(theme.id))... ?


 
g essayé : ça ne fonctionne pas !


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°457978
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 10:36:19  profilanswer
 

hop le fou a écrit :


 
having count theme.id >= (select max count (theme.id) from where group by theme.id) ?
 


 
sachant que j'utilise MySQL : donc pas de requête imbriquée...


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°457992
hop le fou
Tu m'en diras tant
Posté le 15-07-2003 à 11:04:15  profilanswer
 

sire de botcor a écrit :


 
sachant que j'utilise MySQL : donc pas de requête imbriquée...


 
création d une table provisoire dans laquelle tu fais ton premier test et ensuite tu fais un max sur cette table et tu degages la table créée?

n°458080
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 11:09:14  profilanswer
 

hop le fou a écrit :


 
création d une table provisoire dans laquelle tu fais ton premier test et ensuite tu fais un max sur cette table et tu degages la table créée?


 
je crois que je vais laisser tomber :
je vais utiliser ma dernière requête et faire un traitement en PHP...
 
merci qd même d'avoir essayé.


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°458089
hop le fou
Tu m'en diras tant
Posté le 15-07-2003 à 11:13:53  profilanswer
 

sire de botcor a écrit :


 
je crois que je vais laisser tomber :
je vais utiliser ma dernière requête et faire un traitement en PHP...
 
merci qd même d'avoir essayé.


effectivement ca sera moins lourd
pas de quoi  :D

n°458260
Mara's dad
Yes I can !
Posté le 15-07-2003 à 12:49:29  profilanswer
 

Avec un Order by DESC sur le COUNT t'auras moins de lignes à lire en PHP.
 

Code :
  1. SELECT theme.id, COUNT(theme.id) as CNT
  2. FROM theme, soustheme
  3. WHERE theme.id = soustheme.themeCorrespondant
  4. GROUP BY theme.id
  5. ORDER BY CNT DESC

 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 15-07-2003 à 12:49:29  profilanswer
 

n°458288
anapajari
s/travail/glanding on hfr/gs;
Posté le 15-07-2003 à 13:24:11  profilanswer
 

surtout si tu fais un limit ...
 

Code :
  1. SELECT theme.id, COUNT(theme.id) as CNT
  2. FROM theme, soustheme 
  3. WHERE theme.id = soustheme.themeCorrespondant 
  4. GROUP BY theme.id
  5. ORDER BY CNT DESC
  6. LIMIT 0,1

 

n°458325
Mara's dad
Yes I can !
Posté le 15-07-2003 à 14:00:57  profilanswer
 

Ben avec le limit on a juste le nombre maxi (ce qui est demandé).
Mais si on veux connaître les thèmes qui ont un maxi de sous-thèmes, ben faut penser qu'il peut y en avoir plusieurs.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°458332
anapajari
s/travail/glanding on hfr/gs;
Posté le 15-07-2003 à 14:04:26  profilanswer
 

c'est pas faux ...
 :jap: mille pardons!!!


Message édité par anapajari le 15-07-2003 à 14:05:13
n°458334
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 14:05:44  profilanswer
 

c cool !!
[:spikler] beaucoup


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°458341
Mara's dad
Yes I can !
Posté le 15-07-2003 à 14:09:24  profilanswer
 

Anapajari a écrit :

c'est pas faux ...
 :jap: mille pardons!!!


Y'a pas de pb, ta proposition réponds parfaitement à la question telle qu'elle était posée.
Reste à savoir si elle était BIEN posée :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°458360
sire de Bo​tcor
Armorican way of life
Posté le 15-07-2003 à 14:20:37  profilanswer
 

Mara's dad a écrit :


Y'a pas de pb, ta proposition réponds parfaitement à la question telle qu'elle était posée.
Reste à savoir si elle était BIEN posée :D  


 
je confirme !
ce que je voulais c'était seulement le nombre max


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron

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

  [SQL] Requete qui compte un maximum...

 

Sujets relatifs
Temps de transfert Base Access ...SQL serveur[SQL] simple reqete (jointure ) et optimisation
Concaténer nom de variable et chaine de caract. dans une requête MYSQL[PHP/SQL] SELECT pour intervalle de A-M et N-Z
[SQL] Récupérer l'id auto-incrémenté lors d'un INSERTvariable tableau dans requete SQL
SQL count(*) [newbie inside][mysql]optimisation d'un requete
[PHP/ACCESS] requete UPDATE ne passe pas alors que INSERT et DELETE si 
Plus de sujets relatifs à : [SQL] Requete qui compte un maximum...


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