在我的PostgreSQL数据库中,我有以下模式:
CREATE TABLE programs (
id integer,
description text
);
CREATE TABLE public.messages (
id integer,
program_id integer,
text text,
message_template_id integer
);
CREATE TABLE public.message_templates (
id integer,
deliver_day integer
);
INSERT INTO programs VALUES(1, 'Test program');
INSERT INTO messages VALUES(1,1, 'Test message 1', 1);
INSERT INTO message_templates VALUES(1, 1);
INSERT INTO messages VALUES(2,1, 'Test message 2', 2);
INSERT INTO message_templates VALUES(2, 3);
INSERT INTO messages VALUES(3,1, 'Test message 3', 3);
INSERT INTO message_templates VALUES(3, 5);
现在,我想获得程序生命周期内每天发送的消息数,查询结果如下:
day count
--------|----------
1 1
2 0
3 1
4 0
5 1
在PostgreSQL中有没有这样做的方法?
https://www.db-fiddle.com/f/gvxijmp8u6wr6mYcSoAeVV/2