У меня есть таблица, которая содержит событие и дату ее окончания следующим образом -Как получить дату начала и дату окончания события от даты окончания
Event_id Event_name Event_end_date
1 Name Change 31-Mar-2010 (prior to 31-Mar-2010)
2 Parent change 31-Oct-2010 (Logically its duration is 1-Apr-2010 (31-Mar-2010 + 1(Day)) to 31-Oct-2010)
3 Name Change 31-Jul-2011 (Logically its duration is 1-Nov-2010 (31-Oct-2010 + 1(Day)) to 31-Jul-2011)
, поэтому я хочу, чтобы написать запрос, чтобы получить результаты следующим образом -
Event_id Event_name Event_start_date Event_end_date
1 Name Change - 31-Mar-2010
2 Parent change 1-Apr-2010 31-Oct-2010
3 Name Change 1-Nov-2010 31-Jul-2011
Можете ли вы объяснить LAG (event_end_date + 1, 1, NULL) OVER (ORDER BY event_end_date ASC NULLS LAST) event_start_date condi –
Что мне делать, если я хочу получить результат в порядке убывания event_end_date? –
'LAG' имеет возможность вычислять выражение в предыдущих строках (строки, которые будут поступать до текущей строки) и вернуть значение в текущую строку. Вот что я сделал, я заказываю строки на основе end_date в по возрастанию, поэтому для первой строки, т.е. '31/03/2010', нет предыдущей строки, поэтому она будет помещать значение null для даты начала и т. д. '. См. мой обновленный ответ. –