【问题标题】:Selecting the current week of data and reseting from week to week选择当前周的数据并每周重置
【发布时间】:2015-04-29 11:30:48
【问题描述】:

我只想选择本周的数据。所以... 如果当前日期是星期一,只需选择星期一 如果当前日期是星期二,请选择星期一和星期二的数据 如果当前日期是星期三,请选择星期一、星期二和星期三 ...等等。我希望它在周日重置,我相信这是某种“where”子句,只是不知道是什么。正如您在下面看到的,我只是在计算放入烤箱的件数,并希望它随着一周的进行累积,然后在周日重置。

选择 计数(*)作为 PiecesIntoOven 来自烤箱进料器浮动 哪里……??

感谢您的帮助。

【问题讨论】:

  • 是哪种 SQL 方言?
  • 请同时发布一些示例数据
  • TSQL?!这是你的意思吗

标签: date


【解决方案1】:

如果您希望在 Sql Server 中执行此操作,请参见下文。本质上,这会将当前日期转换为其数字 (0-6) 值,然后找到该周的第 0 个日期并使用它来设置 where 子句的下限。

select sum(numberofpieces)
from Test
where dateofwork <= getdate()
and dateofwork >= (DATEADD(DAY, DATEPART(WEEKDAY,getdate()) * -1, getdate()) + 1)

请注意,“0”值受 DATEFIRST 影响。 https://stackoverflow.com/a/1113891/4824030

我不确定如何在 Oracle 中执行此操作。像下面这样的东西应该可以工作,但它在 sqlfiddle 中很挑剔。

select sum(numberofpieces)
from Test
where dateofwork <= current_timestamp
and dateofwork >= (((to_char(level+trunc(current_timestamp,'D'),'Day') * -1) + current_timestamp) + 1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 2015-05-04
    • 2019-10-01
    • 2014-09-08
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多