我有下表
Create table #products
(
productId int,
regionId int,
date datetime,
active bit
)
insert into #products values
(1,20,'10/10/2020',1),(1,20,'12/10/2022',0),(1,20,'5/8/2023',1),
(2,20,'11/11/2020',0),(2,20,'12/12/2022',1),(2,20,'5/8/2023',0),
(3,20,'10/10/2020',1),(3,20,'12/10/2022',0),(3,20,'5/8/2023',1)
我试图找出哪些产品在 2023 年 3 月 1 日至 2023 年 3 月 30 日期间处于活动状态。查看提供的数据,在此期间只有产品 ID 2 处于活动状态。如何编写 SQL 查询来准确检索此信息?我尝试了一些查询,但没有得到我期望的结果。在此先感谢您的时间!
小提琴
如果您想单独处理每个区域的数据,请相应地扩展 PARTITION BY 表达式。
我调整了我的查询,并根据 Akina 提供的建议,这就是我所拥有的。如果您认为此查询产生正确的结果,请告诉我。