我在下面的postgres数据库里有一张桌子。我想知道这些值(name1,name2,name3)在trial为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,即行数。

最佳答案

您缺少group by子句。此外,可以简化查询,请尝试以下操作:

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

关于sql - 如何计算表格中分组值的情况?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52991633/

10-09 00:58