web-dev-qa-db-fra.com

Comment compter le nombre d'occurrences pour toutes les différentes valeurs dans la colonne de base de données?

J'ai une base de données Postgre qui a disons 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 un tableau qui montre combien de fois chaque valeur se produit.

Ainsi, le tableau 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 ça?

40
Rasto

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

SELECT column5, COUNT(*)
FROM table1
GROUP BY column5
80
Mark Byers

Utilisez la clause GROUP BY et la fonction d'agrégation COUNT() :

SELECT column5, COUNT(column5) AS Occurences
FROM myTable
GROUP BY column5
18
Oded