i have sql table like this
table name: person
| age | gander |
|---|---|
| 21 | m |
| 21 | m |
| 21 | f |
| 22 | m |
| 22 | f |
what is query to get output like this:
| age | count_m | count_f |
|---|---|---|
| 21 | 2 | 1 |
| 22 | 1 | 1 |
i want to count m and f based on age
Advertisement
Answer
A little bit of conditional aggregation will do the trick.
select age , count(case when gander = 'm' then 1 end) as count_m , count(case when gander = 'f' then 1 end) as count_f from person group by age order by age