Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 17h47   #1
Invité de passage
 
Inscription : février 2011
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 7
Points : 3
Points : 3
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 :
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 :
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 :
1
2
3
4
5
+-----------+-------------------+
| propriete | count(propriete) |
+-----------+-------------------+
| b         |                15 |
+-----------+-------------------+
alors que j'aimerais :
Code :
1
2
3
4
5
6
+-----------+-------------------+
| propriete | count(propriete) |
+-----------+-------------------+
| a         |                 9 |
| b         |                 6 |
+-----------+-------------------+

Merci d'avance pour vos réponses
Franz_O est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 18h17   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
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 :
1
2
3
SELECT propriete, count(*) FROM plop
GROUP BY propriete
 ORDER BY propriete ASC;
__________________
www.nudge.org Surveillez et optimisez vos applications Java
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 09h48   #3
Invité de passage
 
Inscription : février 2011
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 7
Points : 3
Points : 3
Je m'attendais bien à une commande assez simple.

Merci beaucoup !
Franz_O est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h56.


 
 
 
 
Partenaires

Hébergement Web