如何检查每个ID的日期1和日期2之间的差额是否超过6个月?让我举例说明。
所以我有一张这样的桌子:
var mycars_compressed = [['Ford', 'Fiesta', 'Manual', 'Rp. 160.000.000'],
['', '', '', 'Rp. 163.000.000'],
['', '', 'Automatic', 'Rp. 170.000.000'],
...
['', '', 'Automatic', 'Rp. 400.000.000'],
['VW', 'Golf', 'Manual', 'Rp. 360.000.000'],
['', '', '', 'Rp. 365.000.000'],
...
];
我想添加第三列,如果第一列和第二列之间的差异超过6个月,则回答是。我只想对第一个说是。如果没有可比较的日期,那也是肯定的。无论如何,这将是最终结果:
+----+---------+
| ID | Y-M |
+----+---------+
| 1 | 2017-01 |
| 1 | 2017-02 |
| 1 | 2017-10 |
| 2 | 2017-04 |
| 2 | 2017-06 |
| 3 | 2017-06 |
| 4 | 2017-07 |
+----+---------+
谢谢!
答案 0 :(得分:3)
您可以使用lead()
和一些日期算法:
select t.*,
(case when lead(ym) over (partition by id order by ym) < dateadd(month, 6, ym)
then 'No' else 'Yes'
end) as difference
from t;