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 :

Un GROUP BY portant sur 2 groupes mais avec différentes valeurs dans une table


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut Un GROUP BY portant sur 2 groupes mais avec différentes valeurs dans une table
    Salut à tous,

    J'aimerais savoir s'il y a une possibilité de faire un GROUP BY sur 1 critère de sélection précis.

    Je voudrais faire un comptage des lignes où un champ est différent de 0, et égal à 0.

    Exemple d'une table :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
       membre_id   |      ip      |
    ------------------------------
         10        | 192.168.0.5  |
    ------------------------------
          0        | 192.168.0.2  |
    ------------------------------
          7        | 192.168.0.8  |
    ------------------------------
          3        | 192.168.0.3  |
    ------------------------------
         26        | 192.168.0.7  |
    ------------------------------
          0        | 192.168.0.9  |
    ------------------------------
          0        | 192.168.0.1  |
    ------------------------------
         17        | 192.168.0.6  |
    ------------------------------

    Dans celle-ci donc, je voudrais faire un SELECT COUNT(*) , mais en faisant seulement 2 groupes :

    membre_id = 0
    membre_id <> 0

    Donc avoir pour résultat 5 et 3.

    Y'a t-il une possibilité de faire ceci en une seule requête avec un GROUP BY ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT IF(membre_id=0,0,1) as type,count(*)
    FROM 'nom de la table'
    GROUP BY type

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Ah oui, j'ai pas pensé à ça

    Mais il me faut un IF simple, car mes valeurs ne sont pas nulles, mais égales à 0.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT IF(membre_id <> 0, 1, 0) AS etat , COUNT(*) AS nb 
    FROM CONNECTE 
    GROUP BY etat;

    Ca à l'air de fonctionner.

    Merci de ton aide

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    En effet, la fonction à utiliser est IF et pas IFNULL.
    Merci de t"en être aperçu.
    Je viens de modidier mon post en conséquence.

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

Discussions similaires

  1. Réponses: 52
    Dernier message: 30/07/2015, 22h23
  2. Réponses: 3
    Dernier message: 03/09/2013, 18h42
  3. Réponses: 3
    Dernier message: 05/08/2009, 00h34
  4. [SQL] Requête sur un champ mais avec plusieurs conditions
    Par lowkey dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/02/2008, 12h26
  5. [VB6]Problème dajout dans une Table Access à cause des group
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/02/2006, 10h06

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