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 :

requete avec sum if distinct


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Par défaut requete avec sum if distinct
    Bonjour,

    J'ai une requête qui marche très bien, qui me renvoie le nombre d'enregistrements selon la date 'created' de l'enregistrement.
    Je voudrais rajouter une condition dans ma requête, qu'il ne me donne que les enregistrements avec un nom différent (champs: 'from_name').
    En gros je veux rajouter distinct from_name.
    mais le distinct ne marche pas, j'ai toujours la somme de toutes mes valeurs.

    si quelqu'un a une idée ...

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT 
    SUM( (IF(biv.created >= '2010-05-01' AND biv.created <='2010-05-12',1,0 ))) AS Sum_month, 
    SUM( (IF(biv.created >= '2010-05-09' AND biv.created <='2010-05-12',1,0 ))) AS Sum_week, 
    SUM( (IF(biv.created BETWEEN '2010-04-12' and '2010-05-12' ,1,0 ))) AS Sum_req, 
    SUM( (IF(biv.created <='2010-05-12',1,0 ))) AS Sum_total, biv.lang 
    FROM lead as biv 
    WHERE biv.user_id = '51' 
    GROUP BY biv.lang

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Bonjour,

    Je ne suis pas sûr d'avoir bien compris ce que vous cherchez, essayez peut être count(distinct from_name).
    Sinon, si vous ne voulez qu'une valeur pour chaque from_name, il faudra préciser comment la selectionner.

  3. #3
    Membre éclairé Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Par défaut
    actuellement la requête me renvoie le nombre d'enregistrement selon les dates précisées.
    Sum_month
    Sum_week
    Sum_req

    en comptant les enregistrement avec un from_name identique
    là je voudrais simplement les enregistrements avec from_name différent.

    si je fais un count() je vais devoir faire trois requêtes différentes pour avoir mes trois réponses Sum_month
    Sum_week
    Sum_req

    je pense non?

    merci

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Oui, trois sous-requêtes, avec une jointure sur user_id et lang.

Discussions similaires

  1. [MySQL-5.6] requete avec SUM
    Par jpguiche dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/09/2013, 20h30
  2. Pb de requete avec SUM et sans enregistrement
    Par sevyc64 dans le forum Développement
    Réponses: 7
    Dernier message: 11/07/2009, 20h28
  3. [SQL] - Probleme de requete avec SUM
    Par toxycyty dans le forum Langage SQL
    Réponses: 9
    Dernier message: 05/02/2009, 16h33
  4. Problème de requete avec SUM
    Par fatiinfo dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/08/2008, 17h18
  5. Requete avec sum et count
    Par jcserre dans le forum Langage SQL
    Réponses: 1
    Dernier message: 14/06/2008, 12h01

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