我当前正在使用这个查询(在SQL Server中)来计算每天唯一物品的数量:
SELECT Date, COUNT(DISTINCT item)
FROM myTable
GROUP BY Date
ORDER BY Date
如何将此转换为每个日期的过去3天(包括当前日期)内的唯一项目数量?
输出应该是一个有2列的表格:原始表格中的所有日期列和第二列,我们有每个日期的唯一项目数量。
例如,如果原始表格是:
Date Item
01/01/2018 A
01/01/2018 B
02/01/2018 C
03/01/2018 C
04/01/2018 C
使用上面的查询,我目前可以获得每天的唯一计数:
Date count
01/01/2018 2
02/01/2018 1
03/01/2018 1
04/01/2018 1
我希望得到的结果是在三天滚动窗口内的唯一计数:
Date count
01/01/2018 2
02/01/2018 3 (because items ABC on 1st and 2nd Jan)
03/01/2018 3 (because items ABC on 1st,2nd,3rd Jan)
04/01/2018 1 (because only item C on 2nd,3rd,4th Jan)
DateCol
上有索引吗?你看过执行计划了吗? - Paul Maxwell