我在使用LEAD/LAG时遇到了一些问题.对于一组ID中的每一行,我想获得isAQI = 1的上一个/下一个源.在prevAQI和nextAQI列中,所需的输出如下所示.
我在sql server中尝试过与Lag()相同的方法,但没有运气.任何帮助将非常感激!
样本数据如下:
DECLARE @a TABLE ( id int, timest datetime, source char(2),
isAQI int, prevAQI char(2), nextAQI char(2))
INSERT @a VALUES
(6694 ,'2015-06-11 08:55:06.000' ,'I' ,1, NULL, 'A'),
(6694 ,'2015-06-11 09:00:00.000' ,'A' ,1, 'I', 'I'),
(6694 ,'2015-06-11 09:11:49.000' ,'C' ,NULL, 'A', 'I'),
(6694 ,'2015-06-11 09:29:06.000' ,'O' ,NULL, 'A', 'I'),
(6694 ,'2015-06-11 09:29:06.000' ,'DT' ,NULL, 'A', 'I'),
(6694 ,'2015-06-11 09:34:11.000' ,'DT' ,NULL, 'A', 'I'),
(6694 ,'2015-06-11 09:34:11.000' ,'O' ,NULL, 'A', 'I'),
(6694 ,'2015-06-11 …Run Code Online (Sandbox Code Playgroud)