Closed nemirolyubova closed 8 months ago
Здравствуйте! Предложенный в задании запрос нужно именно дополнить, а не изменить. Для этого внутри OVER
достаточно указать корректные PARTITION BY
, ORDER BY
, а также ROWS
(нужно взять предыдущую и текущую). При этом заменять FIRST_VALUE
на LAG
не нужно
В условии задачи требуется дополнить имеющийся запрос так, чтобы выводилось в числе всего прочего время, прошедшее с предыдущего вылета. Чтобы запрос работал, необходимо при вычислении разницы во времени использовать
LAG
для обращения к данным из предыдущих строк, благодаря чему и будет вычисляться время, прошедшее с предыдущего вылета. Однако предложенный в задаче запрос содержит функциюFIRST_VALUE
, которая при вычислении разницы во времени будет обращаться к первой строке, иTIMEDIFF
с этой функцией таким образом всегда будет показывать разницу между временем текущего вылета и временем самого первого вылета, что в контексте этой задачи не имеет смысла. Получается, что предложенный запрос нужно не только дополнить, как требуется в условии задачи, но и исправить (заменить одну функцию на другую), это может сбить с толку, поскольку ранее в подобных задачах нужно было только дополнять имеющийся запрос, не исправляя то, что уже дано.P.S. Могу добавить своё решение этой задачи с исправленным запросом с функцией
LAG
, который оценивается системой как корректный, если это не будет спойлером для других.