Is it possible to specify a condition in Count()
? I would like to count only the rows that have, for example, “Manager” in the Position column.
I want to do it in the count statement, not using WHERE
; I’m asking about it because I need to count both Managers and Other in the same SELECT
(something like Count(Position = Manager), Count(Position = Other))
so WHERE
is no use for me in this example.
12 s
If you can’t just limit the query itself with a where
clause, you can use the fact that the count
aggregate only counts the non-null values:
select count(case Position when 'Manager' then 1 else null end)
from ...
You can also use the sum
aggregate in a similar way:
select sum(case Position when 'Manager' then 1 else 0 end)
from ...