2010-05-19 4 views
29

J'ai une base de données Postgre qui a 10 colonnes. La cinquième colonne est appelée column5. Il y a 100 lignes dans la base de données et les valeurs possibles de column5 sont c5value1, c5value2, c5value3...c5value29, c5value30. Je voudrais imprimer une table qui montre combien de fois chaque valeur se produit.Comment compter le nombre d'occurrences pour toutes les différentes valeurs dans la colonne de base de données?

donc la table ressemblerait à ceci:

Value(of column5)   number of occurrences of the value 
    c5value1        1 
    c5value2        5 
    c5value3        3 
    c5value4        9 
    c5value5        1 
    c5value6        1 
     .         . 
     .         . 
     .         . 

Quelle est la commande qui fait cela?

Répondre

63

Groupe par la colonne qui vous intéresse, puis utiliser count pour obtenir le nombre de lignes dans chaque groupe:

SELECT column5, COUNT(*) 
FROM table1 
GROUP BY column5 
+0

I vouloir faire la même chose. Mais, au lieu de colonnes, je veux compter l'occurrence d'une valeur dans chaque rangée?! comment faire ? –

15

Utilisez la clause GROUP BY et la fonction globale COUNT():

SELECT column5, COUNT(column5) AS Occurences 
FROM myTable 
GROUP BY column5 
Questions connexes