Я не уверен, хотите ли вы самое последнее значение с stk > 1
:
select top (1) m.*
from mov m
where m.stk > 1
order by m.date desc;
Или, если вы хотите строки, где самое последнее значение для ARM
имеет stk > 1
. Если это то, что вы хотите, то:
select m.*
from (select m.*,
row_number() over (partition by arm order by date desc) as seqnum
from mov m
) m
where seqnum = 1 and m.stk > 1
order by m.date desc;
Оба они возвращают указанную вами строку.
Здесь - это db <> скрипка, показывающая, что это именно то, что вы указали в вопросе (ну, он возвращает всю строку, а не только два столбца).