我试图选择多次满足某个条件的行以及满足该条件的次数.
例如,对于表格:
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
Run Code Online (Sandbox Code Playgroud)
选择每种类型超过4个孩子至少两次的动物以及发生这种情况的次数.
示例输出:
Animal Count
Cow 2
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方面的事情:
SELECT animal
FROM Table
WHERE NumKids>4 AND COUNT((NumKids>4)>2);
Run Code Online (Sandbox Code Playgroud)
但是输出中存在明显的错误(仅输出动物名称而不是计数)并使用COUNT()作为条件.
您不能COUNT((NumKids>4)>2)直接在WHERE子句中使用aggregate(),这是HAVING子句的用途.
请尝试以下查询
select
Animal, COUNT(*) AS Count
from Table
where NumKids > 4
group by Animal
having COUNT(*) >= 2
Run Code Online (Sandbox Code Playgroud)