Một tùy chọn thay thế là row_number()
và một hàm cửa sổ có điều kiện:
select
name,
weight,
coalesce(
max(case when rn = 4 then weight end) over(order by rn),
99.9
) imagined_weight
from (select c.*, row_number() over(order by weight) rn from cats c) c