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

Requêtes MySQL Discussion :

Problème de totalisation sur une requête


Sujet :

Requêtes MySQL

  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 Problème de totalisation sur une requête
    Bonjour,

    Problème de totalisation sur une requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT 
    CASE WHEN date_fait = '0000-00-00' THEN COUNT( * ) END  AS 'non_traite', 
    CASE WHEN date_fait != '0000-00-00' THEN COUNT( * ) END  AS 'traite'
      FROM mon_fichier 
    GROUP BY famille
    Je veux pour une famille de produit connaître le nombre de produits traités et le nombre de non traités en fonction d'une date de traitement.
    Comme résultat j'ai :
    non_traite : NULL
    traite : 875

    Alors que je devrais avoir 125 non traités.

    Si je prend un GROUP BY par date tout va bien, mais pas par famille.

    Je ne vois pas d'erreur, juste peut-être une impossibilité de MySal.

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT famille,
    SUM(IF(date_fait = '0000-00-00',1,0)) AS non_traite, 
    SUM(IF(date_fait != '0000-00-00',1,0)) AS traite
      FROM mon_fichier 
    GROUP BY famille
    ça devrait aller mieux comme ceci.

    [EDIT]j'enlève les quotes autour des alias[/EDIT]

  3. #3
    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 me semble effectivement mieux syntaxiquement, mais j'ai le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Utilisation invalide de la clause GROUP

  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
    Autant pour moi, j'avais laissé les COUNT(*) à la place de 1.

    Merci, ça fonctionne très bien.

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

Discussions similaires

  1. [10gR2] Problème de lenteur sur une requête
    Par daddy2014 dans le forum SQL
    Réponses: 1
    Dernier message: 15/07/2014, 19h18
  2. [2005] Problème de totalisation sur une hiérarchie.
    Par BoromSikim dans le forum SSAS
    Réponses: 5
    Dernier message: 23/01/2013, 15h07
  3. Problème de SUM sur une requête SQL
    Par Lapicure dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/06/2007, 12h51
  4. Problème avec coun(*) sur une requête
    Par Kaoru-tabris dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2007, 16h00
  5. [MSDE] Problème de groupage sur une requête
    Par joefou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/11/2006, 10h43

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