我有一个存储支持票证的表。我需要在图表上显示一些统计数据。在其中一张图表中,我想显示过去30天内收到的门票的历史数据
想象一下,主票的结构是这样的:
票表:
ticket_id | 日期 |
---|---|
1 | 2021-03-21 |
2 | 2021-03-21 |
3 | 2021-03-25 |
4 | 2021-03-26 |
5 | 2021-03-27 |
6 | 2021-03-27 |
7 | 2021-03-28 |
您可以使用日历表:
WITH calendar (
SELECT '2021-03-01' + INTERVAL (seq) DAY AS d
FROM seq_0_to_400
)
SELECT c.d, COUNT(t.date)
FROM calendar c
LEFT JOIN tickets t
ON c.d = t.date
WHERE c.d BETWEEN ... AND ...;
db<gt;小提琴演示