Limiting Large Results
Question:
We would like to find the average weight of cats grouped by breed. Also, in the same query find the average weight of cats grouped by breed whose age is over 1
Return: breed, average_weight, average_old_weight
Order by: breed
Show Table
Cats:
| name | varchar |
| breed | varchar |
| weight | float |
| color | varchar |
| age | int |
Show Desired Output
Desired output:
| breed | average_weight | average_old_weight |
| British Shorthair | 4.50 | 4.50 |
| Maine Coon | 5.58 | 5.58 |
| Persian | 4.57 | 4.75 |
| Siamese | 5.80 | 5.50 |
Query Window:
Correct output but can you use 'filter'?
×
Good work!
Filter can be used to adjust our aggregate functions
Show Answer
Answer:
select breed,
avg(weight) as average_weight,
avg(weight) filter (where age > 1) average_old_weight
from cats group by breed order by breed