是否可以使用COUNT计算具有相同ID的所有行?

时间:2015-06-19 07:22:29

标签: sql postgresql

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)

1 个答案:

答案 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;