Bạn có thể sử dụng hàm rank () cho điều đó:
select name, color1, color2, color3, prize
from (
select t.*, rank() over (order by decode(color1, 'Red', 1, 0)
+ decode(color2, 'Blue', 1, 0) + decode(color3, 'Green', 1, 0) desc) rnk
from t)
where rnk = 1
Điều này trả về hàng hoặc các hàng có hầu hết các kết quả phù hợp.