将所有日期添加到 SQL 分组日期查询

Adding all dates to SQL query for grouped dates

我希望 SQL 到 return 所有日期,无论它们是否为 null 或来自以下查询的 0:

   SELECT count(id) as Record_Count, delete_date as Date
   FROM table
   WHERE marketing_tag = 'XYZ'
   GROUP BY delete_date
   ORDER BY delete_date desc

当前输出:

| Record_Count  |    Date   |
|100            |   01/07/22|
|200            |   01/05/22|
|250            |   01/02/22|

期望的输出:

|  Record_Count |    Date   |
|100            |   01/07/22|
|0              |   01/06/22|
|200            |   01/05/22|
|0              |   01/04/22|
|0              |   01/03/22|
|250            |   01/02/22|

我没有另一个 table 日期可供参考 我的最小值应该是从查询中提取的第一个日期(在本例中为 01/02/22)然后我的最大值应该是逻辑适用的最近日期(在本例中为 01/07/22)是这个可能不创建另一个 table?

考虑以下方法

select ifnull(record_count, 0) record_count, date
from unnest((
  select generate_date_array(min(delete_date), max(delete_date)) 
  from your_table
)) date 
left join (
  select count(id) as record_count, delete_date as date 
  from your_table 
  where marketing_tag = 'xyz'
  group by delete_date
)
using (date)
order by date desc          

如果应用于您问题中的示例数据 - 输出为