範囲内の一連の数値とそれぞれのカウントをリストしたいのですが、値が表の行に表示されない場合はゼロを含めます。
例えば、
create table score (
n int
);
insert into score values (3);
insert into score values (1);
insert into score values (1);
insert into score values (5);
insert into score values (5);
insert into score values (5);
できます
select n, count(n) from score
group by n order by n;
与える
n | count
---+-------
1 | 2
3 | 1
5 | 3
しかし、代わりに私はしたいです
n | count
---+-------
0 | 0
1 | 2
2 | 0
3 | 1
4 | 0
5 | 3
については承知しgenerate_series(0, max(n))
ていますが、ここからどのように進めればよいかわかりません。
アプリケーション レベルでプログラムを使用してこれを行うこともできますが、私自身の教育のために、postgres クエリを使用して直接これを行う方法を学びたいと考えています。