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 :

Plusieurs opérations sur un même champ, en une seule requête, possible ?


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Points : 171
    Points
    171
    Par défaut Plusieurs opérations sur un même champ, en une seule requête, possible ?
    Bonjour,

    Je dispose d'une table lpdn_vote. Cette table contient les votes de visiteurs, un vote peut être un "1" ou un "-1". Actuellement j'utilise cette requête :

    Code Sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT `lpdn_item`.*, 
        SUM(v_note) AS `note`, 
        COUNT(com_msg) AS `nbre_commentaire` 
        FROM `lpdn_item` 
            LEFT JOIN `lpdn_vote` ON v_ref = i_id 
            LEFT JOIN `lpdn_commentaire` ON com_ref = i_id 
        GROUP BY `i_id`, `i_type`, `i_titre`, `i_date`, `i_explication`, `i_coeur` 
        ORDER BY `i_date` DESC

    Comme vous pouvez le voir, j'utilise une jointure pour récupérer la somme des votes faites sur un article de mon site. Cependant, je voudrais pouvoir compter le nombre de vote "1" et le nombre de vote "-1" , et ce dans la même requête, cependant je ne sais pas du tout comment m'y prendre :/

    Quelqu'un pourrait-il m'éclairer ?

  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,
    SUM(IF(v_note < 0),v_note,0)) AS negatifs,
    SUM(IF(v_note > 0),v_note,0)) AS positifs
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Points : 171
    Points
    171
    Par défaut
    Ah beh merci beaucoup

    Je ne savais pas qu'on pourrait rajouter des conditions dans le SUM ^^

    Encore merci de ton partage de connaissance

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/03/2012, 17h02
  2. Réponses: 1
    Dernier message: 24/02/2011, 19h11
  3. Plusieurs MAX sur le même champs
    Par yaboki dans le forum SQL
    Réponses: 4
    Dernier message: 08/04/2010, 00h39
  4. Requête avec plusieurs paramètres d'un même champ d'une table
    Par jb.julien dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/08/2007, 09h43
  5. Réponses: 4
    Dernier message: 26/04/2006, 14h02

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