【问题标题】:Counting how many time the values returned from a subquery are in a table? PSQL计算从子查询返回的值在表中出现的次数? PSQL
【发布时间】:2021-02-25 19:16:18
【问题描述】:

我有一张这样的桌子

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

这将显示所有从未为 NULL 的名称。现在我想在结果表中显示每个名称在我的表中出现的次数。所以对于 John,它应该说 count 2。我尝试使用上面的查询作为子查询来执行 COUNT (*) FROM (),但它只计算结果表中名称的出现次数,而不是原始表中的出现次数。

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    嗯。 . .

    select name, count(*)
    from t
    group by name
    having count(*) filter (where value is null) = 0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多