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 pour effectuer une Requête


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème pour effectuer une Requête
    j'ai un problème de requête, je ne vois pas comment la réaliser, voici le problème:

    j'ai une table PERSONNE comprenant beaucoup de lignes avec les champs suivants:
    - nom
    - prenom
    - age
    - adresse

    Je souhaite compter le nombre de personnes dont les champs suivants sont à null et je veux retourner cela avec une structure spéicifique, en fait
    je souhaite compter le nombre de personnes dont ces champs sont à vides et faire apparaître cette liste de champ (peut etre avec concat_ws())

    Liste_de_champs_vide | Nombre_de_personnes
    ----------------------------|--------------------------
    nom | 1500
    nom, prenom | 850
    prenom | 2589
    prenom, age, adresse | 45

    dans l'exemple ci-dessus, on a 1500 personnes dont le nom est à NULL, 850 personnes dont les 2 champs nom et prénom sont à null.
    Je voudrais donc effectuer cette requête mais je ne vois pas comment faire

    Merci

  2. #2
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Peut-être :

    Code : 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
     
    SELECT 'nom', COUNT(*)
    FROM tb_personne
    WHERE nom IS NULL
    AND prenom IS NOT NULL
    AND age IS NOT NULL
    AND adresse IS NOT NULL
    GROUP BY 'nom'
    UNION
    SELECT 'nom - prenom', COUNT(*)
    FROM tb_personne
    WHERE nom IS NULL
    AND prenom IS NULL
    AND age IS NOT NULL
    AND adresse IS NOT NULL
    GROUP BY 'nom - prenom'
    Je te laisse compléter la suite des UNINON.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 040
    Points : 23 795
    Points
    23 795
    Par défaut
    C'est effectivement la seule solution dans ce cas... Passer par 4 requêtes jointes par des UNION . Tu peux même mettre des alias sur la première requête.
    Par contre, tu n'as pas précisé si les personnes qui ont un nom NULL sont aussi comptés dans la liste des personnes ayant un nom et un prénom NULL. Si la réponse est non, alors c'est la requête de nounetmasque, si c'est oui, alors la requête devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 'nom' AS Liste_de_champs_vide, COUNT(*) AS Nombre_de_personnes
    FROM tb_personne
    WHERE nom IS NULL
    GROUP BY Liste_de_champs_vide
    UNION
    SELECT 'nom - prenom' AS Liste_de_champs_vide, COUNT(*) AS Nombre_de_personnes
    FROM tb_personne
    WHERE nom IS NULL
    AND prenom IS NULL
    GROUP BY Liste_de_champs_vide
    et ainsi de suite...

    ced

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/03/2009, 13h04
  2. Langage pour effectuer une requête SQL.
    Par slake13 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 19/11/2008, 14h22
  3. [SQL] Problème pour formuler une requête SQL
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/03/2008, 19h35
  4. problème pour faire une requête
    Par mitchbuck dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/11/2005, 23h48

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