计算子查询返回的值在表中的时间?PSQL
我有一张这样的桌子计算子查询返回的值在表中的时间?PSQL,sql,postgresql,Sql,Postgresql,我有一张这样的桌子 name value john success bob success alex NULL john success . . . 我运行这个查询来获取所有从未设置为NULL的名称 SELECT name FROM table WHERE value is NOT NULL EXCEPT SELECT name FROM table WHERE value is null 这将显示所有从未为空的名称。现在,我想在结果表中显示这些名称在我的表中出现的次数。所以对约翰来说应该
name value
john success
bob success
alex NULL
john success
.
.
.
我运行这个查询来获取所有从未设置为NULL的名称
SELECT name FROM table
WHERE value is NOT NULL
EXCEPT
SELECT name FROM table
WHERE value is null
这将显示所有从未为空的名称。现在,我想在结果表中显示这些名称在我的表中出现的次数。所以对约翰来说应该是第二次。我尝试使用上面的查询作为子查询从()进行计数(*),但它只计算名称在结果表中的出现次数,而不是原始表中的出现次数。Hmmm
select name, count(*)
from t
group by name
having count(*) filter (where value is null) = 0;