Вы можете использовать оконные функции:
select
t.*,
case when amount = max(amount) over () then 'Yes' end
from mytable t
Некоторым СУБД не нравится пустое предложение over()
, в этом случае вместо этого можно использовать rank()
:
select
t.*,
case when rank() over(order by amount desc) = 1 then 'Yes' end
from mytable t
Демонстрация на DB Fiddle :
id | amount | case
--: | -----: | :---
110 | 1000 | <em>null</em>
111 | 1000 | <em>null</em>
112 | 2000 | Yes
113 | 1000 | <em>null</em>