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 :

[MySql] Problème de comptage


Sujet :

Langage SQL

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut [MySql] Problème de comptage
    J'ai deux tables "categorie" et "article" chaque categorie peut avoir plusieurs articles.

    Je voudrais compter le nombre d'article qu'il y a par categorie.
    Or j'ai un problème si une categorie n'a pas d'article, j'ai 1 en nombre. Comment faire pour avoir 0 ? J'ai essayé en remplacent SUM(1) et c'est pareil.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT c.categorie, c.titre, COUNT( * ) 
    FROM categorie c
    LEFT OUTER JOIN article a ON a.idcategorie = c.idcategorie
    GROUP BY c.categorie
    merci beaucoup de votre aide.

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    La requete suivante devrait te donner le nombre de livres par catégories :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT idcategorie, COUNT(*) AS NbLivres
      FROM article
     GROUP BY categorie
    Mais elle ne renverra pas de lignes pour une catégorie ne contenant aucun livre : c'est donc avec cette "vue" et la table catégorie que tu dois faire ta requête avec jointure externe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT c.categorie, c.titre, L.NbLivres
      FROM categorie c
      LEFT OUTER JOIN (SELECT idcategorie, COUNT(*) AS NbLivres
                         FROM article
                        GROUP BY categorie) a 
        ON L.idcategorie = c.idcategorie
     GROUP BY c.categorie
    En éspérant que ta version de MySQL te permette les sous-requêtes

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Je suis en php 4.0 donc pas de sous-requêtes :-(

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut Re: [MySql] Problème de comptage
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT c.categorie, c.titre, COUNT( a.idcategorie ) 
    FROM categorie c
    LEFT OUTER JOIN article a ON a.idcategorie = c.idcategorie
    GROUP BY c.categorie

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

Discussions similaires

  1. [Mysql] Problème de connection à travers un réseau
    Par gwendo dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2005, 11h18
  2. [MYSQL] Problème ORDER BY sur deux champs
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 8
    Dernier message: 14/10/2005, 16h46
  3. [connexion Mysql] problème de connexion avec l'odbc
    Par DarkAngelus dans le forum Administration
    Réponses: 2
    Dernier message: 13/10/2005, 11h24
  4. [requete] Mysql problème de clause where
    Par Raideman dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/07/2005, 18h00
  5. [EJB2.1 Entity] [CMP] [MySQL] Problème avec clé primaire en auto increment
    Par tery dans le forum Java EE
    Réponses: 6
    Dernier message: 16/07/2004, 11h28

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