gpt4 book ai didi

php - 可以按找到的匹配项数对与 REGEX 匹配的 SQL 查询进行排序吗?

转载 作者:行者123 更新时间:2023-11-29 02:05:19 25 4
gpt4 key购买 nike

我正在使用 SQL 查询,例如 WHERE name REGEXP '[[:<:]]something[[:>:]]' .

现在这一切都很好,但我的结果不是按找到的匹配项数量排序的,而这正是我要找的。关于如何去做或什至可能的任何想法?

谢谢

完整查询是

    SELECT `Item`.`id`, `Item`.`name`, `Item`.`short_bio`
FROM `items` AS `Item`
WHERE ((`Item`.`name` REGEXP '[[:<:]]hello[[:>:]]') OR
(`Item`.`name` REGEXP '[[:<:]]world[[:>:]]')

现在这个查询是根据用户输入生成的,每个空格将事物分解成要搜索的不同部分。我想根据所有部分的匹配次数对结果进行排序,这样最相关的结果就在最前面。

最佳答案

这样的事情怎么样(不知道 mysql,所以它可能需要调整):

SELECT `Item`.`id`, `Item`.`name`, `Item`.`short_bio`
FROM `items` AS `Item`
WHERE ((`Item`.`name` REGEXP '[[:<:]]hello[[:>:]]') OR
(`Item`.`name` REGEXP '[[:<:]]world[[:>:]]')
ORDER BY (`Item`.`name` REGEXP '[[:<:]]hello[[:>:]]') +
(`Item`.`name` REGEXP '[[:<:]]world[[:>:]]') DESC

关于php - 可以按找到的匹配项数对与 REGEX 匹配的 SQL 查询进行排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7276524/

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