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

Oracle Discussion :

[Oracle 8]Group by d'Oracle !!


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut [Oracle 8]Group by d'Oracle !!
    Il est à la norme SQL le GROUP BY d'oracle ??? parce que j'arrive pas à l'utilisé

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select machin,chose from bidule group by chose
    Et bien là j'ai une erreur !! je peux pourtant pas faire plus simple !!

  2. #2
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select machin,chose from bidule group by chose,machin

  3. #3
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Autant faire un DISTINCT là plutôt non ? Un group by ça sert surtout à gérer des agrégats ?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    Citation Envoyé par nuke_y
    Autant faire un DISTINCT là plutôt non ? Un group by ça sert surtout à gérer des agrégats ?
    +1

  5. #5
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    D'ailleurs peut-être voulait-il faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select MIN(machin),chose from bidule group by chose
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select SUM(machin),chose from bidule group by chose

  6. #6
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Mais je c qu'il vaut mieux fiare un DISTINCT pour mon exemple mais ça doit quand même fonctionner

    La vrai requête ya une vingtaine de champs provenant de 8 tables différentes et en plus j'ai pas le droit de la montrer (attention on rigole pas avec les clauses de confidentialité !! même si elle serve pas à grand chose ^^)

    Donc j'ai pris un exemple tout simple mais qui devrait tout de même fonctionner !!

  7. #7
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Je prend l'exemple de nuke_y (avec d'autre champs mais c'est le même principe) et bien ça ne fonctionne pas !

    Je trouve vraiment cela bizarre !!

    erreur :

    ORA-00933: La commande SQL ne se termine pas correctement

  8. #8
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est bien de mettre l'erreur, mais avec le select on pourra te dire où ça ne marche pas

  9. #9
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    exemple simple essayer et qui me renvoie l'erreur du dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select min(age),nom from personne groupe by nom;
    (j'ai changer les nom de champs mais les informations sont de même type et la requête à le même sens)

  10. #10
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Citation Envoyé par Wormus
    exemple simple essayer et qui me renvoie l'erreur du dessus :

    select min(age),nom from personne groupe by nom;
    (j'ai changer les nom de champs mais les informations sont de même type et la requête à le même sens)
    ??

    Le ";" peut poser des problèmes sous TOAD.

    Peux-tu nous indiquer sous quel outil et version tu fais ta requête ?

  11. #11
    Membre émérite
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Par défaut
    je crois plutôt que le problème vient du fait que la fonction de groupage doit être en dernier lieu dans le SELECT

    select col1, .. coln, min(colm)

    et pas

    select min(colm), col1,.. coln

  12. #12
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Marc Musette
    je crois plutôt que le problème vient du fait que la fonction de groupage doit être en dernier lieu dans le SELECT

    select col1, .. coln, min(colm)
    et pas
    select min(colm), col1,.. coln
    Houla, non !
    Tu peux faire du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select max(), min(), gp1, gp2, sum(decode()), gp3
    from ...
    group by gp2, gp3, gp1

  13. #13
    Membre émérite
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Par défaut
    oui je le sais mais j'ai déjà néanmoins rencontré ce comportement (oracle est lon d'être bug free...

  14. #14
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Une question : tu ne ferais pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select min(truc), machin from bidule group by machin where machin...
    ?

    Parce que là effectivement le WHERE doit être avant le GROUP BY ou le ORDER BY.

Discussions similaires

  1. [Oracle 10]GROUP BY fait-il ORDER BY?
    Par the_ugly dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/04/2007, 12h08
  2. Clause group by sur oracle
    Par clement_911 dans le forum SQL
    Réponses: 3
    Dernier message: 06/04/2007, 13h24
  3. [Oracle 10] Group by utilisation
    Par ReunionIsland dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/08/2006, 11h25
  4. Requête avec Group by sur Oracle 8i
    Par madina dans le forum Oracle
    Réponses: 14
    Dernier message: 16/06/2006, 12h41
  5. [Oracle 9i] GROUP BY avec jointure.
    Par requinc dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/04/2006, 12h29

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