Sql 使WHERE子句影响查询中的单个列

Sql 使WHERE子句影响查询中的单个列,sql,postgresql,Sql,Postgresql,正如问题所述,我希望使WHERE条款影响一个单独的栏目,我有问题。我的问题如下 Select exp, COUNT(grade), COUNT(exp) FROM table WHERE grade = 100 GROUP BY exp; 本质上,我想要一个按经验分组的输出,并给出所有使用该经验的人的完整计数,但在第二列中,只显示其中有多少人获得了满分。问题是影响COUNTexp的电流。SQL初学者非常抱歉,如果这很简单,感谢您的帮助。您需要条件聚合,它在Postgres中使用过滤器: SEL

正如问题所述,我希望使WHERE条款影响一个单独的栏目,我有问题。我的问题如下

Select exp, COUNT(grade), COUNT(exp)
FROM table
WHERE grade = 100
GROUP BY exp;

本质上,我想要一个按经验分组的输出,并给出所有使用该经验的人的完整计数,但在第二列中,只显示其中有多少人获得了满分。问题是影响COUNTexp的电流。SQL初学者非常抱歉,如果这很简单,感谢您的帮助。

您需要条件聚合,它在Postgres中使用过滤器:

SELECT exp, COUNT(*),
       COUNT(*) filter (where grade = 100)
FROM table 
GROUP BY exp;