我在编写查询以获得所需的输出时遇到了困难。 我需要获取连续两行之间的日期差异,如果日期差异
我必须根据下面给出的标准使用值“是”或“否”填充新列
标准 1:
对于第一行,新列值应始终为“否”
从第二行开始,如果两个日期相差
第一行和第二行的日期差为
第二行和第三行的日期差异为
第三行和第四行的日期差异超过 6 个月,但有效为“是”,因此新列值为“否”。
输出应该如下图
Custid | 输入日期 | Rscode | 有效 | New_column |
---|---|---|---|---|
123 | 2020-04-11 | BCB | 是 | 没有 |
123 | 2020-06-13 | ABC | 是 | 是 |
123 | 2020-09-01 | FBS | 没有 | 没有 |
123 | 2021-05-01 | ABC | 是 | 没有 |
123 | 2021-07-05 | ABC | 是 | 是 |
标准 2:
如果原因代码以“RQT”开头并且任何有效代码后跟 RQT(即使日期差为 6 个月且原因代码有效),则新列应从下一个连续行开始为“否”,输出与是。
Custid | 输入日期 | Rscode | 有效 | New_column |
---|---|---|---|---|
345 | 2020-02-19 | RQT | 是 | 没有 |
345 | 2020-03-22 | BCB | 是 | 没有 |
345 | 2020-06-18 | RQT | 是 | 是 |
345 | 2020-10-29 | BCB | 是 | 是 |
345 | 2021-03-24 | ABC | 是 | 是 |
Custid | 输入日期 | Rscode | 有效 | New_column |
---|---|---|---|---|
346 | 2020-02-19 | RQT | 是 | 没有 |
346 | 2020-03-22 | RQT | 是 | 没有 |
346 | 2020-06-18 | RQT | 是 | 是 |
346 | 2020-10-29 | BCB | 是 | 是 |
346 | 2021-03-24 | RQT | 是 | 是 |