我想列出一个范围内的一组数字及其各自的计数,但包括一个零,其中值不会出现在表格行中。
例如,
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 查询直接执行此操作。