Om du menar att col_1 är mer relevant än col_2 och så vidare, då:
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]
Om du menade med flest kolumnmatchning så :
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