我正在尝试选择多次满足某个条件的行以及满足该条件的次数。
例如,对于表:
Animal ID NumKids PostCode
Cow 1202 5 1405
Cow 3492 6 4392
Chicken 4535 1 2394
Alpaca 2432 0 3453
Cow 2432 3 6253
Chicken 2342 5 4444
选择每种类型超过4个孩子至少两次的动物及其发生的次数。
示例输出:
Animal Count
Cow 2
我尝试了以下方面的内容:
SELECT animal
FROM Table
WHERE NumKids>4 AND COUNT((NumKids>4)>2);
但是输出中存在明显的错误(仅输出动物名称而不是计数)并使用COUNT()作为条件。
答案 0 :(得分:6)
您不能在COUNT((NumKids>4)>2)
子句中直接使用聚合(WHERE
),这是HAVING
子句的用途。
尝试以下查询
select
Animal, COUNT(*) AS Count
from Table
where NumKids > 4
group by Animal
having COUNT(*) >= 2