我试过了一些选项,但它根本不起作用或不符合我的需要。带CAST或SUM问题的SQL CASE
其对下面的SQL(这并不工作,但最为接近我所需要的):
SELECT CASE WHEN r.`content` LIKE '% word1 %'
then 1
else 0
END AS `val1`
, CASE WHEN r.`content` LIKE '% word2 %'
then 1
else 0
END AS `val2`
, CASE WHEN r.`city` LIKE 'cityname'
then 1
else 0
END AS `val3`
, (`val1`+`val2`+`val3`) AS `reference_value`
FROM `testimonials` as r
WHERE `accepted`='1'
ORDER BY `reference_value`
所以基本上与最高分进入端在顶部。当3例匹配reference_value
将有3分。 该代码是动态的,所以它也可以是4,5,6,7或更多CASE。
我希望这对你有任何意义。 在此先感谢。
总是提供一些数据集和预期结果。不管你用“文字”来解释它有多清楚。有这个:...想要这个:...将以最快的方式正确回答 – M0rtiis