IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

utilité du groupBy


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut utilité du groupBy
    Lorsque j'écris
    select x, count(y)
    from ...
    groupBy x

    quelle est l'utilité du groupBy?

    toute l'information n'est-elle pas présente dans le select : pour tous les x, compter les y?

    Existe-t-il des exemples dans les quels le groupBy n'est pas repris dans le select?

    select count(y)
    from
    groupBy x
    a-t-il un sens?

    Merci de m'éclairer sur ce point.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Concernant le 1er point : http://sql.developpez.com/sqlaz/ensembles/#L1

    Citation Envoyé par LGnord
    Existe-t-il des exemples dans les quels le groupBy n'est pas repris dans le select?
    Oui bien sûr.
    Mon exemple n'est peut être pas des plus éloquents mais ça vous donnera une idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    10g SOC5> create table dvp(nom varchar2(25), prenom varchar2(25));
     
    Table créée.
     
    10g SOC5> insert into dvp values ('gates', 'bill');
     
    1 ligne créée.
     
    10g SOC5> insert into dvp values ('gates', 'paul');
     
    1 ligne créée.
     
    10g SOC5> insert into dvp values ('destria', 'paul');
     
    1 ligne créée.
     
    10g SOC5> 
    10g SOC5> -- combien de prenoms différents au maximum pour un même nom ?
    10g SOC5> select max( count(prenom) )
      2  from dvp
      3  group by nom;
     
    MAX(COUNT(PRENOM))
    ------------------
                     2
     
    1 ligne sélectionnée.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut
    Merci,

    je commense à comprendre.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut
    SELECT max( count(prenom) )
    FROM dvp
    GROUP BY nom;

    est évaluée en décomposant comme suit

    SELECT max (cp)
    FROM
    (
    SELECT nom, count(prenom) AS cp
    FROM dvp
    GROUP BY nom
    );

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilité d'un pointeur vers une fonction ?
    Par Nasky dans le forum C
    Réponses: 10
    Dernier message: 20/03/2010, 19h54
  2. [J2EE] Utilité de la J2EE de SUN ?
    Par PeteMitchell dans le forum Java EE
    Réponses: 4
    Dernier message: 14/05/2004, 10h29
  3. [LG]Utilité du type enuméré ?
    Par tarbala dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2003, 16h20
  4. Le BIOS et son utilité
    Par le mage tophinus dans le forum Assembleur
    Réponses: 75
    Dernier message: 21/11/2003, 15h37
  5. utilité du binaire et hexadecimaux?
    Par souris78 dans le forum C
    Réponses: 9
    Dernier message: 01/07/2003, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo