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 :

compter les occurrences dans une table


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Par défaut compter les occurrences dans une table
    Bonjour,

    J'ai un problème, qui je pense est assez simple à régler mais je bloque...


    j'ai une table plop qui contient 2 millions de lignes, et j'aimerais afficher :
    - toutes les valeurs distinctes de la colonne propriete
    - leurs occurences respectives.


    j'arrive à afficher toutes les valeurs distinctes (153 au total) mais je n'arrive pas à leur associer leur nombre d'occurrence.

    j'ai bien tenté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select propriete, count(propriete) from plop
     where propriete in (select distinct propriete from plop)
     order by propriete asc;
    mais elle ne m'affiche que la derniere propriété avec la somme de toute les occurrences de la tables (= le total)

    j'ai fais un test sur un plus petit échantillon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select propriete , count(propriete) from plop
     where propriete in ("a","b")
     order by propriete asc;
    mais le résultat n'est pas correct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    +-----------+-------------------+
    | propriete | count(propriete) |
    +-----------+-------------------+
    | b         |                15 |
    +-----------+-------------------+
    alors que j'aimerais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    +-----------+-------------------+
    | propriete | count(propriete) |
    +-----------+-------------------+
    | a         |                 9 |
    | b         |                 6 |
    +-----------+-------------------+

    Merci d'avance pour vos réponses

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    La syntaxe, c'est COUNT(*) puis il faut ajouter une clause GROUP BY.
    Et enfin, la clause WHERE dans la première requête me paraît inutile.
    Ça donne ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT propriete, count(*) FROM plop
    GROUP BY propriete
     ORDER BY propriete ASC;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Par défaut
    Je m'attendais bien à une commande assez simple.

    Merci beaucoup !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/03/2013, 13h16
  2. Compter les occurrences dans une chaine de caractères
    Par moraze dans le forum Débuter
    Réponses: 2
    Dernier message: 10/04/2011, 10h23
  3. [AC-2007] Compter les valeurs d'une table dans un formulaire
    Par redwarf dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 01/11/2009, 19h57
  4. Compter les occurrences d'une chaîne dans une feuille
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2008, 08h59
  5. Réponses: 5
    Dernier message: 10/12/2007, 16h15

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