如何显示2020年每天的活跃报价数量?SQLite



OFFERS表包含有关银行客户贷款优惠的信息。每个报价都有一个标识符(offer_id), start_date, expiration_date。如果此报价的dt介于start_dateend_date之间,则此报价在日期dt视为有效。

如何显示2020年每天的活跃报价数量?数据看起来像:

offer_id start_date  end_date
123      2020-05-01  2020-05-17
5432     2020-12-01  2020-09-19

一个选项使用递归查询生成一年中的所有日子,然后使用left join创建表。

在SQLite中:

with recursive dates as (
select '2020-01-01' dt
union all
select date(dt, '1 day') from dates where date(dt, '1 day') < '2021-01-01'
)
select d.dt, count(o.offer_id) cnt_active_offers
from dates d
left join offers o on d.dt between o.start_date and o.end_date
group by d.dt

相关内容

  • 没有找到相关文章

最新更新