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 :

[SQL] agrégat sur deux granularitée différentes


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 67
    Points
    67
    Par défaut [SQL] agrégat sur deux granularitée différentes
    Bonjour,
    J'ai une table vente contenant des produits et des montants

    table vente :
    Pdt Montant
    1 | 2
    1 | 5
    2 | 6
    3 | 2

    et je voudrai faire une requete me retournant les vente par produits ainsi que les ventes totales

    Pdt Montant Total
    1 | 7 | 15
    2 | 6 | 15
    3 | 2 | 15

    la seule solution en une seule requete est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select pdt,sum(montant),total
    from vente, (select sum(montant) total from vente) tmp
    group by pdt,total
    mais vous vous imaginez bien que niveau perf..... surtout sur les quelques millions d'ereistrement que j'ai

    Donc si vous avez une idée....

    merci

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Deux choix :

    1 : deux requêtes séparées [propre]

    2 [pas propre] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (
       SELECT pdt, sum(montant)
       FROM vente
       GROUP BY pdt
    ) UNION (
       SELECT -1 AS pdt, sum(montant)
       FROM vente
    )

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 67
    Points
    67
    Par défaut
    bon je vais opter pour la solution propre même si je voulais le résultat en une requete.

    Merci pour ton aide

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

Discussions similaires

  1. SQL Select sur deux bases différentes
    Par cchasse98 dans le forum SQL
    Réponses: 1
    Dernier message: 22/10/2012, 09h20
  2. Requête SQL sur deux bases différentes
    Par flash22 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 06/04/2011, 17h36
  3. [Conception] Inscription simultanée sur deux sites différents
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/04/2006, 10h28
  4. SQL Query sur deux tables différentes.
    Par kabal22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/12/2005, 17h52
  5. Sum de deux champs sur deux tables différentes
    Par kluh dans le forum Oracle
    Réponses: 11
    Dernier message: 29/09/2005, 18h21

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