LAST_VALUE () вместо этого возвращает предпоследнее значение в некоторых случаях - PullRequest
0 голосов
/ 06 мая 2020

Этот конкретный запрос возвращает предпоследнее значение в некоторых случаях, но последнее значение в других случаях. Либо мой контрольный столбец неверен, либо для этого запроса нужно немного поднять кнопку.

SELECT DISTINCT 

           a.[Item]

           LAST_VALUE(b.[Date]) OVER(PARTITION BY b.[Item2] ORDER BY b.[Date] RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)


FROM
           [DB1] as a

LEFT JOIN 

           [DB2] as b on a.[Item] = b.[Item2] 

WHERE a.[Block] = 0 AND a.[SafetyValue] = '0'



ORDER BY a.[Item];

Может быть, отсутствие прогресса связано с неправильным пониманием RANGE / ROW между?

Я посмотрел на это решение: Почему LAST_VALUE не возвращает последнее значение?

, и он делал то же самое.

Редактировать: Оказалось, что это правильно .... мой контрольный столбец не отсортирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...