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 :

Totalisation sur une seule ligne de commande


Sujet :

Langage SQL

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut Totalisation sur une seule ligne de commande
    Bonjour,

    J'ai une table défini comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    operation (valeur 1,2,3,4,...)
    N° commande (valeur 1,2,3,4, ....)
    N° ligne de commande (valeur 1,2,3,4,...)
    Prix total payé
    Le prix total payé est le prix total payé pour la commande toutes lignes confondues.
    Chaque ligne correspond à 1 produit et une quantité de 1.

    Je veux faire une requête me donnant le total par opération et en ne prenant qu'une ligne par commande.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT operation, commande, ligne, count(*), SUM(total)
    FROM table
    GROUP BY operation
    Le count me donne le nombre de produit et c'est bon, mais le SUM(total) me cumul le prix autant de fois qu'il y a de ligne dans une commande.

    Je sais, elle est mal fichue cette table et je suis d'accord, mais il me faut faire avec.

    J'avais pensé faire un distinct sous mysql sur le N° de commande, mais la syntaxe comme ceci n'est pas acceptée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT operation, DISTINC(commande), count(*), SUM(total)
    FROM table
    GROUP BY operation
    Est-ce possible ou bien dois-je le faire avec un script.

    Merci d'avance.

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Points : 71
    Points
    71
    Par défaut
    Tu as essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT operation, commande, Max(N° ligne de commande), SUM(total)
    FROM TABLE
    GROUP BY operation, commande

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 392
    Points
    28 392
    Par défaut
    Si la colonne total correspond au total de la commande, tu as cette solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT    operation
        ,    commande
        ,    MAX(noligne)
        ,    COUNT(*)
        ,    SUM(total) / COUNT(*)
    FROM     matable
    GROUP BY operation
        ,    commande
    ;

  4. #4
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Merci cela fonctionne très bien

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

Discussions similaires

  1. [Batch] Résultat de 2 commandes dans un fichier sur UNE seule ligne
    Par blanquettedeveau dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 15/01/2015, 18h43
  2. [AC-2000] Commande if..else sur une seule ligne
    Par moustika dans le forum VBA Access
    Réponses: 4
    Dernier message: 25/08/2011, 19h32
  3. Plusieures infos sur une seule ligne avec ou sans tableau
    Par Him dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/03/2006, 14h16
  4. Synedit -commentaires sur une seule ligne
    Par Malone dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/02/2006, 19h44
  5. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24

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