1. ホーム
  2. sql

[解決済み] COUNTで同じidの行をすべてカウントすることはできますか?

2022-02-10 14:59:19

質問

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)

解決方法は?

のある行の数を数えるだけでよいのであれば、その行の中にある 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;