Search code examples
mysqlcountuniqueduplicates

Retrieve Unique Values and Counts For Each


Is there a simple way to retrieve a list of all unique values in a column, along with how many times that value appeared?

Example dataset:

A
A
A
B
B
C

... Would return:

A  |  3
B  |  2
C  |  1

Solution

  • Use GROUP BY:

    select value, count(*) from table group by value
    

    Use HAVING to further reduce the results, e.g. only values that occur more than 3 times:

    select value, count(*) from table group by value having count(*) > 3