【发布时间】:2019-03-17 14:29:16
【问题描述】:
我正在尝试进行按相关性排序的搜索。 假设搜索词包含 3 个词:A、B 和 C。我要做的是检查搜索词是否存在于 SELECT 结果中,如果是,则会增加其排名。
ORDER BY CASE
(
WHEN search_word_A_is_present THEN +1
WHEN search_word_B_is_present THEN +1
WHEN search_word_C_is_present THEN +1
ELSE 0
END
)
DESC
虽然没有语法错误并且搜索运行并按某些东西排序(这似乎与我想要的不同)但我不确定如果有什么要添加的话。我将如何查看每个结果的最终排名(总和)?这是正确的做法吗?
【问题讨论】:
标签: mysql sql-order-by case