KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Lundi 12 mai 2008 - 02:58:22

[MySQL] question sur la fonction GROUP BY

Rechercher : dans
[MySQL] question sur la fonction GROUP BY
par Nanda
 Fil de Discussions
Statut : Non résolu
lundi 7 mai 2007 à 11:01:09
Slt à tous,

Pour aller droit au but, voici ma question:
Lorsqu'on fait un GROUP BY en SQL (j'utilise MySQL), est-il possible de recuperer les groupes que SQL a fait?

exemple : Pour une table
NOM Age
A 11
B 23
C 11
D 36

Si je demnde un GROUP BY Age, il me rend
11 A
23 B
36 D


Cependant Comme il a deja fait les groupes ca serait interessant de plutot obtenir quelque chose du style
11 A-->C
23 B
36 D

... Est ce possible ???
Merci..
Configuration: Windows XP
Firefox 1.5.0.11
Répondre à Nanda  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Dalida, le lundi 7 mai 2007 à 11:54:12 Fil de Discussions
salut,

pour le résultat, il ne te renvoie pas
11 A
11 C
23 B
36 D
plutôt ?

c'est ce qu'il sensé faire me semble-t-il.
[ Mathieu ]
Comprenne qui peut, succombe qui doit…
Répondre à Dalida

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par gisa mainty, le mercredi 30 mai 2007 à 10:21:25 Fil de Discussions
Salut,

normalement, ca doit renvoyer
11 A
11 C
23 B
36 D

mais bizzarrement, Mysql supprime le second key 11, d'ou pblm.
Quelqu'un a une idée? du prq et aussi et surtout du comment faire pour avoir le resultat complet.

Merci
Répondre à gisa mainty

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rachid, le mercredi 22 août 2007 à 12:14:32 Fil de Discussions
si tu veux obtenir
11 A
11 C
23 B
36 D

Alors utilise pluto un ORDER BY age
Répondre à rachid

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Reivax962, le mercredi 22 août 2007 à 13:34:34 Fil de Discussions
Non justement, group by X n'a AUCUNE raison de renvoyer deux champs X ayant la même valeur. Il est faux de dire que "normalement il est censé le faire".

En fait, normalement, il ne devrait même pas accepter cette requête car le champ Nom ne fait pas partie de la clause group by.

Pour obtenir

11 A
11 C
23 B
36 D

en gardant group by, il faut plutôt faire group by age, nom.

Sous sql server et d'autres, select * from table group by age ne fonctionnerait pas : il faudrait mettre uniquement select age from table group by age (ou rajouter des fonctions d'aggrégation, comme count(), sum(), min(), etc. )
Répondre à Reivax962

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par angelsmatt, le lundi 31 décembre 2007 à 16:08:04 Fil de Discussions
A Reivax962 "MySQL a étendu l'utilisation de la clause GROUP BY. Vous pouvez utiliser des colonnes ou des calculs de l'expression SELECT qui n'apparaissent pas dans la clause GROUP BY"
cf documentation MySQL http://dev.mysql.com/doc/refman/5.0/fr/group-by-hidden-fields.html

Cordialement,
angelsmatt
Répondre à angelsmatt

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Reivax962, le mardi 1 janvier 2008 à 13:28:07 Fil de Discussions
Ben oui, je sais bien !
Mais c'est spécifique au sgbd mysql et aucunement au langage sql.
Et c'est d'ailleurs fonctionnellement plutôt génant, parce que si certaines valeurs des colonnes que l'on rajoute changent selon les enregistrements regroupés, laquelle sera affichée ?
Répondre à Reivax962

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Stef, le samedi 9 février 2008 à 15:32:56 Fil de Discussions 
Hello,

en Mysql c'est possible en écrivant :
select Age, GROUP_CONCAT(Nom) from A GROUP BY Age;

Si j'ai bien compris ta question...
Répondre à Stef
Discussions pertinentes trouvées dans le forum
04/10 16h22Problème de jointure / group by MysqlWebmastering28/12 19h2613
15/09 19h57prolbème mysql, fonction UPDATEWebmastering15/09 23h149
14/08 10h30Pb de group by et/ou de jointureProgrammation14/08 16h291
03/04 12h26[PHP/MySQL]fonctionnement en réseauProgrammation03/04 13h482
Plus de discussions sur « [MySQL] question sur la fonction GROUP BY » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide