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 sur un count


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Problème sur un count
    Bonjour,

    Voila, j'ai la table essai avec les champs id, nom,, sexe et age
    1 toto M 23
    2 titi M 33
    3 coco M 22
    4 zob F 15
    5 mimi F 44
    6 momo M 44

    je n'arrive pas à compter les personnes de sexe masculin uniquement sur les trois dernières fiches rentrées. Je veux trouver 1 (momo).
    Le count me retourne toujours 4. Je ne trouve pas la solution.
    Merci à vous.

  2. #2
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    Salut,

    Ben tu peu mettre une clause supplémentaire dans ton WHERE en mettant :
    où alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND id>((SELECT MAX(id) FROM ma_table)-3)
    Y'a plus qu'à tester!!

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par yoyopi
    Salut,

    Ben tu peu mettre une clause supplémentaire dans ton WHERE en mettant :
    où alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND id>((SELECT MAX(id) FROM ma_table)-3)
    Y'a plus qu'à tester!!
    Merci pour ta réponse, mais cela ne semble pas fonctionner.

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Problème sur un count
    Essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT A.*
     
    FROM essai A
    LEFT OUTER JOIN essai B ON (A.id<B.id)
     
    GROUP BY A.id
    HAVING COUNT(B.id)<3 AND A.sexe='M'
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Re: Problème sur un count
    Citation Envoyé par pcaboche
    Essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT A.*
     
    FROM essai A
    LEFT OUTER JOIN essai B ON (A.id<B.id)
     
    GROUP BY A.id
    HAVING COUNT(B.id)<3 AND A.sexe='M'
    Merci, c'est exactement ça, je vais maintenant essayer de bien comprendre cette requete que j'ignorais !!!

  6. #6
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Problème sur un count
    J'admets que ce n'est pas une requête évidente à comprendre pour les débutants. Elle fait intervenir les notions suivantes :
    - jointures réflexives (d'où l'usage d'alias de tables A et B)
    - jointure ouverte (LEFT OUTER JOIN)
    - non-equijointure (opérateur < dans condition de jointure)
    - GROUP BY et fonction d'aggrégation COUNT
    - clause HAVING (important comprendre la différence entre HAVING et WHERE)

    Tu trouveras des renseignements sur ces notions dans cet article par SQLPro :
    http://sqlpro.developpez.com/cours/sqlaz/jointures/
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

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

Discussions similaires

  1. [MySQL-5.6] Problème de requête (COUNT, GROUP BY) sur plusieurs tables
    Par alexisavenel dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/10/2014, 12h47
  2. Réponses: 8
    Dernier message: 09/01/2012, 09h45
  3. Problème sur un count
    Par Shadam dans le forum Développement
    Réponses: 4
    Dernier message: 22/04/2011, 10h51
  4. Problème sur un SELECT COUNT(*)
    Par Aulanh dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/01/2010, 14h46
  5. [MySQL] Problême avec un COUNT sur un template
    Par Vinuto dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/06/2007, 16h37

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