Ако имате предвид, че col_1 е по-подходящ от col_2 и така нататък, тогава :
select *
,case when col_1 like '%$keyword%' then 1
when col_2 like '%$keyword%' then 2
when col_3 like '%$keyword%' then 3
end as [priority]
from table_name
where col_1 like '%$keyword%'
or col_2 like '%$keyword%'
or col_3 like '%$keyword%'
order by [priority]
Ако имахте предвид с най-много съвпадения в колоните, тогава :
select *
,(case when col_1 like '%$keyword%' then 1 else 0 end) +
,(case when col_2 like '%$keyword%' then 1 else 0 end) +
,(case when col_3 like '%$keyword%' then 1 else 0 end) as [priority]
from table_name
where col_1 like '%$keyword%'
or col_2 like '%$keyword%'
or col_3 like '%$keyword%'
order by [priority] desc