【问题标题】:How to count values of a column of the same type in postgresql?如何计算postgresql中相同类型列的值?
【发布时间】:2019-08-11 14:06:32
【问题描述】:

我有 3 个表,在进行了一些连接之后,我已经到了尝试计算同一类型的值(1 和 2)在列(列 id)中出现的次数的阶段,但是我不确定如何创建查询。帮忙?

  parent_id  id
    1        1
    1        1
    2        2
    1        1
    1        1
    1        1

在id表中,数字“1”出现了5次,“2”出现了1次。如何创建导致新列(可能每列 2 列)的查询以显示“1”出现 5 次而“2”出现 1 次?这是来自 3 个原始表的查询,它们将我带到了 id 表。

SELECT parent_id, pods.id
FROM visits
JOIN parents
ON parents.id = visits.parent_id
JOIN pods
ON parents.pod_id = pods.id

我正在尝试获取两列:第 1 列的“1”总数为 5,第 2 列的“2”总数为 1。

提前谢谢你!

【问题讨论】:

  • 回答您的问题所需的一些示例输入和输出。
  • 您的查询返回两列,但您的示例结果只有一列。这令人困惑。

标签: sql postgresql


【解决方案1】:

您只是在寻找group by吗?

SELECT po.id, COUNT(*)
FROM visits v JOIN
     parents p
     ON p.id = v.parent_id JOIN
     pods po
     ON p.pod_id = po.id
GROUP BY po.id;

【讨论】:

  • 天啊!是的,这就是我要找的,非常感谢!我整天都在想办法解决这个问题。 #beginnerstruggle
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
相关资源
最近更新 更多