Counting frequencies
A GROUP BY
clause can be used to report the frequencies with which values occur in a table.In that case you use the same field name several times in the query statement.Let’s say you have a table TT
with a column A
whose contents are { 3, 8, NULL
, 6, 8, -1, NULL
, 3, 1 }.To get a frequencies report, you could use:
SELECT A, COUNT(A) FROM TT GROUP BY A
which would give you this result:
A COUNT ============ ============ -1 1 1 1 3 2 6 1 8 2 <null> 0
Oops — something went wrong with the NULL
count, but what? Remember that COUNT(FieldName)
skips all NULL
fields, so with COUNT(A)
the count of the <null>
group can only ever be 0.Reformulate your query like this:
SELECT A, COUNT(*) FROM TT GROUP BY A
and the correct value will be returned (in casu 2).