gpt4 book ai didi

php - 使用 mysql 你如何计算成功的 ORs 的数量?

转载 作者:行者123 更新时间:2023-11-29 01:32:45 25 4
gpt4 key购买 nike

我基本上想计算成功的 OR 的数量,以便我可以判断每个项目与搜索查询的相关性。这是表结构:

CREATE TABLE `items` (
`id` int(11) NOT NULL auto_increment,
`listing_id` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
`description` varchar(1000) NOT NULL,
`image` varchar(100) NOT NULL,
`image_caption` varchar(100) NOT NULL,
`keywords` varchar(10000) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=90 DEFAULT CHARSET=latin1

这是一行的例子:

 `id` = 1
`listing_id` = 1,
`name` = 'listing test',
`description` = 'listing desc',
`image` = '',
`image_caption` = '',
`keywords` = 'youtube video fun'

这就是我希望 mysql 在伪代码中执行的操作:

 SELECT id,name,description AND count FROM items WHERE `keywords` LIKE '%video%' AND LIKE '%keyword2%' AND LIKE '%youtube%' AND LIKE '%text%'

我想得到这些结果:

 `id` = 1
`name` = 'listing test',
`description` = 'listing desc',
`count` = 2

最佳答案

是这样的。 (我使用“score”而不是“count”,因为“count”是一个 SQL 函数名称。)

SELECT id, name, description, (
IF(keywords LIKE '%video%', 1, 0)
+ IF(keywords LIKE '%keyword2%', 1, 0)
+ IF(keywords LIKE '%keyword3%', 1, 0)
) score
FROM table
HAVING score > 0

请注意,此查询将非常慢,因为它必须检查每一行。

关于php - 使用 mysql 你如何计算成功的 ORs 的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637058/

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