【问题标题】:How to count if conditional with a group by in Postgresql [duplicate]如何在 Postgresql 中使用 group by 计算条件 [重复]
【发布时间】:2016-12-14 12:43:09
【问题描述】:

我有一个包含列的 FinishedGames 表:类别和分数。我需要按类别知道有多少游戏以超过一定的分数结束,但我不了解 PostgreSQL 中的计数结构。

select category, count(score) as rounds, count(if score > 7) as wins
from "FinishedGames" group by category;

有谁知道如何在 PostgreSQL 中做到这一点?

【问题讨论】:

  • 我们可以使用,having <condition> 部分。

标签: postgresql


【解决方案1】:

您应该在计数函数中使用CASE 子句。 例如COUNT(CASE WHEN score > 7 THEN 1 ELSE NULL END) (或SUM 1 和 0 - 结果相同...)

问候, 乔尼

【讨论】:

  • 它适用于计数或总和。谢谢。
猜你喜欢
  • 2012-06-15
  • 1970-01-01
  • 2016-03-13
  • 1970-01-01
  • 2020-01-26
  • 2021-07-01
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多