Sql postgres查询count sales,当没有sales时返回零

Sql postgres查询count sales,当没有sales时返回零,sql,postgresql,Sql,Postgresql,我需要计算日期范围内的销售额。示例“2021-05-13”和“2021-05-20” 这是我的psql查询 SELECT date(date_created), count(date_created) as total_count FROM users WHERE property_id = 1 AND date(date_created) BETWEEN '2021-05-13' AND '2021-05-20' GROUP BY date(date_created) ORDER BY d

我需要计算日期范围内的销售额。示例“2021-05-13”和“2021-05-20”

这是我的psql查询

SELECT date(date_created), count(date_created) as total_count 
FROM users 
WHERE property_id = 1
AND date(date_created) BETWEEN '2021-05-13' AND '2021-05-20'
GROUP BY date(date_created)
ORDER BY date(date_created) DESC
查询的结果如下

date            |total_count
2021-05-17      |3
2021-05-16      |3
2021-05-15      |4
但是我需要返回
0
,返回没有销售的天数。范例

date            |total_count
2021-05-20      |0
2021-05-19      |0
2021-05-18      |0
2021-05-17      |3
2021-05-16      |3
2021-05-15      |4
2021-05-14      |0
2021-05-13      |0
知道怎么做吗?

使用
生成_series()
生成缺少的日期:

SELECT gs.date, count(u.date_created) as total_count 
FROM GENERATE_SERIES('2021-05-13'::DATE, '2021-05-20'::date, INTERVAL '1 DAY') gs(date) LEFT JOIN
     users u
     ON u.date_created >= gs.date AND
        u.date_created < gs.date + INTERVAL '1 DAY' AND
        u.property_id = 1
GROUP BY gs.date
ORDER BY gs.date DESC;
选择gs.date,count(u.date\u created)作为总计数
从生成_系列('2021-05-13':日期,'2021-05-20':日期,间隔'1天')gs(日期)左连接
用户u
在u.date_created>=gs.date和
u、 创建日期

是一个数据小提琴,说明语法是正确的。

对不起,语法是正确的吗?我在查询(7)中得到了这个错误:('2021-05-13'::日期,'2021-05-20'::日期,间隔1天)gs(…
@Rolly…是的,有一个语法错误。我忽略了间隔常量周围的单引号。