当前位置: 代码迷 >> 综合 >> sql根据字段值匹配度越高显示在前面
  详细解决方案

sql根据字段值匹配度越高显示在前面

热度:5   发布时间:2024-01-24 11:49:36.0

根据关键字匹配度越高显示越靠前,这里根据权重(默认都是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

  相关解决方案