vid*_*ngs -1 sql postgresql null
我正在尝试在 PostgreSQL 中进行查询,它应该为我提供一年中的所有月份,按月排序。还有null销售列为空的月份的值。但是我无法显示所有月份,也null根本没有任何值。请帮忙?
这是我的查询:
SELECT
to_char(date_trunc('Month', dateofmonth), 'Month') MON,
sum(sales) SALES
FROM SALES_TABLE
GROUP BY MON;
Run Code Online (Sandbox Code Playgroud)
您可以使用它generate_series()来生成一年的月份。然后您可以使用 加入聚合中的值left join。像这样的东西:
select mon.mon, coalesce(s.sales, 0) as sales
from generate_series('2015-01-01'::timestamp, '2015-12-01'::timestamp, interval '1 month'
) as mon(mon) left join
(select date_trunc('Month', dateofmonth) as mon,
sum(sales) as SALES
from SALES_TABLE
group by mon
) s
on mon.mon = s.mon;
Run Code Online (Sandbox Code Playgroud)