sql - 仅显示周一至周日整周的数据顺序并隐藏非整周数据
问题描述
对不起,如果我在这里拍摄新手问题。
我想创建一个周报告,但是对于这个周报告,我想要从周一到周日的完整数据
健康)状况:
- 仅过去 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数据,并且由于本周未满,因此不显示其余数据。
谁能帮我怎么做?
非常感谢!
解决方案
对于 MySQL,您可以使用这样的选择:
SELECT * FROM `myDB` WHERE `Date`
BETWEEN DATE_SUB(NOW()-INTERVAL DATE_FORMAT(CURRENT_DATE, '%w') DAY, INTERVAL 28 DAY)
AND NOW()- INTERVAL DATE_FORMAT(CURRENT_DATE, '%w') DAY
这使用了将本周的当前日期转换为数字并将其减去以获得最后一个星期日的能力。从那里,我们选择 28 天的间隔。
(只有 14 天的 testet 和非常有限的测试数据集,但应该可以工作)
推荐阅读
- swagger - 如何表明禁止在 swagger 文档中使用数字?
- vue.js - Vue.js - 命名槽
- cookies - 如何将 SameSite 属性添加到 Omnipay PHPSESSID cookie?
- tomcat - 目前是否有显示 JVM 代码缓存使用情况的 Linux 命令行?
- python - Matplotlib 箱线图图例不使用 ax
- c# - 为什么 MongoDB.Driver Indexes.CreateOne 无法创建索引并出现错误“命令 createIndexes failed”?
- r - 测试正态性并显示数据框中多列的组合结果 (R)
- asp.net-web-api - ASP.NET Web API 管道中的 Serilog 自定义丰富器
- javascript - 如何修复 Safari 12 中的“加载资源失败:无法解码原始数据”
- java - ChartJS“无法获取未定义或空引用的属性'getTime'”