【问题标题】:Get previous cell value + side cell value calculation in SQL Server在 SQL Server 中获取上一个单元格值 + 侧单元格值计算
【发布时间】:2020-08-05 08:18:29
【问题描述】:

我在 SQL 中想要这种类型的计算日期值。

有什么方法可以获得这种类型的计算数据?

【问题讨论】:

  • 编辑问题也添加预期结果。
  • @Roank1112 。 . .您的问题没有关于您要计算的内容的信息。
  • 在“日期”列中,我有第一行的固定日期。现在我想从“日期”+持续时间的前一个单元格中获取“日期”列中的值。
  • 请阅读this,了解一些改进问题的技巧。

标签: sql sql-server tsql date window-functions


【解决方案1】:

我认为你想要:

select
    t.*,
    dateadd(
        day, 
        sum(t.duration) over(order by autoid), 
        first_value(t.date) over(order by autoid)
    ) date
from mytable t

date 列中的第一个值开始(据我了解,它是该列中唯一的非null 值),这逐渐增加了duration 列中的天数。

【讨论】:

    【解决方案2】:

    您似乎想要累积持续时间。我会通过减去最早的来做到这一点:

    select t.*,
           datediff(day, min(date) over (), date) as total_duration
    from t;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-05
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多