【问题标题】:How can I count occasions of grouped values in a table?如何计算表格中分组值的次数?
【发布时间】:2018-10-25 14:22:26
【问题描述】:

我在下面的 postgres 数据库中有该表。我想知道值(name1、name2、name3)在试验为 1 的表中出现了多少次。 在低于预期输出的情况下:

name1, 4
name2, 3
name3, 2

+--------------+
| id|name|trial|
+--------------+
|1  |name1|1   |
|2  |name1|1   |
|3  |name1|1   |
|4  |name1|1   |
|5  |name2|1   |
|6  |name2|1   |
|7  |name2|1   |
|8  |name3|1   |
|9  |name3|1   |

到目前为止我尝试了什么:

SELECT count(C.NAME)
FROM FIRST AS C
WHERE NAME = (
              SELECT CS.NAME
              FROM FIRST AS CS
              WHERE TRIAL = 1
              GROUP BY CS.NAME
              )

此查询返回 9,即行数。

【问题讨论】:

  • select name, count(*) from first where trial = 1 group by name

标签: sql postgresql


【解决方案1】:

您缺少 group by 子句。另外,查询可以简化,试试这个:

SELECT count(1), Name
FROM FIRST
WHERE TRIAL = 1
GROUP BY Name

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2020-09-22
    • 2017-04-30
    • 2015-06-15
    相关资源
    最近更新 更多