对不起,如果我在这里拍摄新手问题 .
我想创建一份每周报告,但对于本周报告,我想要从周一到周日的完整数据
条件:
-
仅限过去4周
-
显示整周(周一至周日)
-
如果结果不是整周,则隐藏结果
如果我使用getdate -14,如果我在周三访问数据,他们将从上周2周前开始计算,而不是上周一 . 同时,我希望报告只显示整周 .
任何人都可以在SQL中分享如何做到这一点吗?
这里我提供样本数据:
Column name = DATE -- Column name: TOTAL_PERSON
- Fri, 1 Jun 2018 -- 10
- Sat, 2 Jun 2018 -- 4
- Sun, 3 Jun 2018 -- 12
- Mon, 4 Jun 2018 -- 15
- Tue, 5 Jun 2018 -- 10
- Wed, 6 Jun 2018 -- 3
- Thu, 7 Jun 2018 -- 1
- Fri, 8 Jun 2018 -- 13
- Sat, 9 Jun 2018 -- 9
- Sun, 10 Jun 2018 -- 23
- Mon, 11 Jun 2018 -- 5
- Tue, 12 Jun 2018 -- 3
- Wed, 13 Jun 2018 -- 1
- Thu, 14 Jun 2018 -- (TODAY)
在这种情况下,如果我在2018年6月6日星期四访问,我想从2018年6月4日星期一到2018年6月10日星期日获得 TOTAL PERSON 数据,而不显示其余数据,因为本周未满 .
任何人都可以帮我怎么做?
非常感谢!
2 回答
我想你想要:
这计算两个日期之间的周边界数,因此它返回整周 .
对于MySQL,您可以使用这样的选择:
这使用了将本周当前日转换为数字的功能,并将其减去最后一个星期日 . 从那里,我们选择了28天的间隔 .
(只有14天的测试和非常有限的测试数据集,但应该工作)