表中的两个字段articles
:
title
和body
两条记录:
meow bark | 1234 5678
和bird snake | 8596 2952
Where meow bark
is undertitle
和1234 5678
is underbody
等...
SQL查询:
SELECT *,
CASE WHEN title = 'meow' then 1 else 0 end + CASE WHEN title = 'bark' then 1 else 0 end AS matches
FROM articles
ORDER BY matches DESC
返回两行。请帮助我理解我的语法有什么问题。我希望它只返回标题与查询中的内容匹配的行。除非我不明白 CASE 是如何工作的,否则如果上面示例中的标题与 meow 或 bark 匹配,它应该显示 - 否则,不显示。
目标是根据大多数匹配返回结果。看看这里的小提琴:http ://sqlfiddle.com/#!3/13b33/10
我稍微修改了一下,但没有想到足以打破它。