PostgreSQL 9.4
。
我有下表:
id player_id
serial PK integer
---------------------------
1 1
2 3
... ...
123123 1
我需要使用player_id = 1
计算所有行。是否可以使用COUNT
聚合?
现在我这样做:
SUM(CASE WHEN player_id = 1 THEN 1 ELSE 0 END)
答案 0 :(得分:7)
如果您需要的是player_id
为1的行数,那么您可以这样做:
SELECT count(*)
FROM your_table_name
WHERE player_id = 1;
如果您想计算每个 player_id
的行数,那么您需要使用GROUP BY
:
SELECT player_id, count(*)
FROM your_table_name
GROUP BY player_id;