私が正しく理解している場合は、指定した4つのうちの1つである最後の値が必要です(つまり、'NONE'
ではありません) )。ウィンドウ関数はおそらく最も簡単な解決策です:
select t.*
from (select t.*,
first_value(value) over (partition by uaid order by id desc) as current_value
from t
) t
where risk_factor <> 'NONE';