【问题标题】:Can you write a single query without using any 'with' clause你能在不使用任何'with'子句的情况下编写单个查询吗
【发布时间】:2018-05-19 14:55:02
【问题描述】:

这是表 DATA_TABLE

      Date        Value
01-01-2018        31.64
01-02-2018        32.09
01-03-2018        36.9
   ..              ..

需要在单个查询中输出如下所示

Date 是一个 Date 列,d-1 列的值是前一天的值,d 是特定日期值(01-02-2018),d+2 是 DATA_TABLE 中下一个日期的值,即 36.9

在单个查询中需要 O/P(不应考虑具有周六和周日的日期)

  Date             d-1           d           d+2
01-02-2018        31.64        32.09        36.9 

【问题讨论】:

    标签: sql oracle oracle12c


    【解决方案1】:

    您应该可以在这里使用LEADLAG

    SELECT
        Date,
        LAG(Value) OVER (ORDER BY Date) "d-1",
        Value,
        LEAD(Value) OVER (ORDER BY Date) "d+2"
    FROM DATA_TABLE
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-05
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      相关资源
      最近更新 更多