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

SQL Oracle Discussion :

pb agrégation dans requête


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 38
    Par défaut pb agrégation dans requête
    Bonjour,
    j'ai quelques pb avec les fonctions d'agrégation dans ma requête, je souhaite faire:
    la somme des montants des total des commandes pour tous les clients qui excèdent la somme du montant des total de toutes les
    commandes placés entre le 1-jan-89 et le 1-jun-89, en utilisant group by et have.
    -> début de la requête:
    select c.name as NAME,
    s.total as CUSTOMER_TOTAL
    from customer c, sales_order s
    where c.customer_id=s.customer_id;
    => lorsque que je fait SUM(s.total) dans mon select, j'ai cette erreur :

    ERROR at line 1:
    ORA-00937: not a single-group group function

    Et je ne peux donc plus continuer ma requête, quelqu'un a une idée? merci.

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    C'est qu'il manque un group by sur c.name

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 38
    Par défaut pb de parenthèse
    exact merci bien, je l'avais fais mais avec group c.customer_id ! Pourquoi ça ne marchait pas dans ce cas là?

    A présent nouveau pb lors de la clause Having :
    select c.name as NAME,
    SUM(s.total) as CUSTOMER_TOTAL
    from customer c, sales_order s
    where c.customer_id=s.customer_id
    group by c.name
    having SUM(s.total) > (select sum(total) from sales_order between '01-JAN-89' and '01-JUN-89');

    ERROR at line 6:
    ORA-00907: missing right parenthesis

  4. #4
    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



    Relis un peu ton code, ça saute aux yeux.

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

Discussions similaires

  1. plusieurs fonction d'agrégation dans une seul requête
    Par mohamedAmine00 dans le forum Hibernate
    Réponses: 2
    Dernier message: 08/04/2015, 20h31
  2. [AC-2007] Disfonctionnement des opérations d'agrégat dans une requëte
    Par PlnKT dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/04/2012, 15h09
  3. Deux à trois agrégats dans la même requête
    Par bssouf21 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/03/2012, 16h55
  4. Erreur dans requête : blabla fonction d'agrégat
    Par The_Super_Steph dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/06/2007, 10h55
  5. Erreur d'agrégation dans une requête UNION
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 05/10/2005, 00h11

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