根据关键字匹配度越高显示越靠前,这里根据权重(默认都是1),进行权重值相加的结果,进行排序即可。
一般取前几条即可满足。
SELECT
*
FROM
crm_customer cc
WHERE
cc.customer_name LIKE '%公司%'
OR cc.customer_name LIKE '%有限%'
ORDER BY
(
(
CASE
WHEN cc.customer_name LIKE '%公司%' THEN
1
ELSE
0
END
) + (
CASE
WHEN cc.customer_name LIKE '%有限%' THEN
1
ELSE
0
END
)
) DESC