Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 LAST_VALUE  [new]
saley
Member

Откуда:
Сообщений: 633
Доброго всем дня!
Помогите пожалуйста разобраться.
Не пойму в чём причина, не выдаёт последнее значение, вроде делаю как написано в инструкции.
create table #tmp
(L0 int,DateSign smalldatetime)
insert #tmp (L0 ,DateSign)
values
(4720,'01/01/2014'),
(4720,'01/01/2021'),
(4720,'01/01/2015')


select  
L0 , LAST_VALUE(a.DateSign) over(order by a.DateSign) as [DatePodpis_1]
from #tmp a

drop table #tmp


результат
L0 |DatePodpis_1
4720 | 2014-01-01 00:00:00
4720 | 2015-01-01 00:00:00
4720 | 2021-01-01 00:00:00
26 апр 21, 09:32    [22314247]     Ответить | Цитировать Сообщить модератору
 Re: LAST_VALUE  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
saley,

Причина в том что
https://docs.microsoft.com/en-us/sql/t-sql/functions/last-value-transact-sql?view=sql-server-ver15
rows_range_clause further limits the rows within the partition by specifying start and end points. For more information, see OVER Clause (Transact-SQL).

Переходим по ссылке
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-over-clause-transact-sql?view=sql-server-ver15
ROWS/RANGE that limits the rows within the partition by specifying start and end points within the partition. It requires ORDER BY argument and the default value is from the start of partition to the current element if the ORDER BY argument is specified.
26 апр 21, 09:56    [22314265]     Ответить | Цитировать Сообщить модератору
 Re: LAST_VALUE  [new]
saley
Member

Откуда:
Сообщений: 633
Спасибо...
26 апр 21, 10:00    [22314267]     Ответить | Цитировать Сообщить модератору
 Re: LAST_VALUE  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4833
saley,

RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING

либо

FIRST_VALUE(a.DateSign) OVER (ORDER BY a.DateSign DESC)
28 апр 21, 14:00    [22315641]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить