При выборе мне нужно получить первый ряд через 15 минут от текущего.
Я пытался сделать это следующим образом
Примечание: перед этим я делаю TIMESTAMPa.timestamp
Select
SELECT Lag(a) Over (Partition By a.imdate Limit Duration(hour, 12) When a.timestamp < DATEADD(minute, -15, System.Timestamp))
From a
Моя проблема заключается в том, что System.Timestamp имеет значение события, наблюдаемого лагом, а не того, которое наблюдается снаружи, что приводит к нулю.
Итак, в примере
[
{
"timestamp": "2018-12-14T08:30:05.571Z",
"imdate": 96699
},
{
"timestamp": "2018-12-14T08:16:03.571Z",
"imdate": 96699
},
{
"timestamp": "2018-12-14T08:03:02.571Z",
"imdate": 96699
}
]
я бы хотел, чтобы задержка предоставила мне 3-е событие при рассмотрении как первого, так и второго.
, но в примереиз
[
{
"timestamp": "2018-12-14T08:30:05.571Z",
"imdate": 96699
},
{
"timestamp": "2018-12-14T08:24:03.571Z",
"imdate": 96699
},
{
"timestamp": "2018-12-14T08:23:02.571Z",
"imdate": 96699
}
]
Я хотел бы, чтобы задержка предоставляла мне нулевое значение для всех из них.
или, в выборке
[
{
"timestamp": "2018-12-14T08:55:05.571Z",
"imdate": 96699
},
{
"timestamp": "2018-12-14T08:24:03.571Z",
"imdate": 96699
},
{
"timestamp": "2018-12-14T08:23:02.571Z",
"imdate": 96699
}
]
Я бы хотел отставаниепредоставить мне 2-е событие при наблюдении первого, но нулевое при наблюдении 2-го.
Итак, по сути, первое событие произойдет после последних 15 минут.
Есть идеи, как мне этого добиться?