gpt4 book ai didi

MySQL ORDER BY CASE + 运算符

转载 作者:行者123 更新时间:2023-11-29 09:48:38 24 4
gpt4 key购买 nike

我正在尝试进行按相关性排序的搜索。假设搜索词包含 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 bool 条件会产生 10,因此您只需将它们相加即可

ORDER BY search_word_A_is_present + search_word_B_is_present + search_word_C_is_present 
DESC

一个更实际的例子:

ORDER BY col1 = 1 + col2 = 'A' + col3 = 44 DESC

关于MySQL ORDER BY CASE + 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55208147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com