gpt4 book ai didi

php - 在sql查询中调用用户定义的函数

转载 作者:行者123 更新时间:2023-11-30 00:23:57 25 4
gpt4 key购买 nike

我正在编写一个视频搜索引擎。对于每个视频,我都存储了一些标签(如教程、初学者、电影、错误等)。由于通常我们可以从用户查询中提取关键词,因此我创建了一个包含(关键词,标签,概率)的数据库

例如:如果数据库条目是

key word  |   tag  |   probability

how to | errors | 0.7

这意味着如果用户查询中存在关键字“how to”,则用户有 70% 的可能性正在搜索带有标签“errors”的视频。

可以从用户的查询中提取多个关键词。所以,我将它们存储在一个数组中。

在视频数据库中,对于每个视频,我存储 2 个属性( video_name 、 tag 、相关性 )相关性表示“视频与标签的相关程度”。一个视频可以有多个标签。因此,如果一个视频有 4 个标签,则视频数据库中将有 4 个具有不同标签和相关性的条目。

最后,我想要一个 SQL 查询,以便它返回视频所有标签的相关性 * 概率之和。例如:如果提取的标签是电影 - 0.6 概率和歌曲 - 0.8 概率

如果视频数据库是

video_name | tag     | relevance

A | movies | 50

B | errors | 100

A | songs | 100

C | tutorial| 10

A | comedy | 200

那么我的结果必须是 A - 100(50 * 0.6 + 100 * 0.8)

B - 0(0,因为未找到标签)

C - 0(0,因为未找到标签)

我是 SQL 新手。你能给出一个sql查询吗……先谢谢了……

最佳答案

假设您的关键字表名为 keywords,相关性表名为 relevances,类似这样的内容应该有效:

SELECT video_name, sum(r.relevance * k.probablility)
FROM relevances r, keywords k
WHERE r.tag = k.tag
GROUP BY video_name
ORDER BY video_name

对于没有标签的视频,它应该返回 NULL(而不是 0)。

关于php - 在sql查询中调用用户定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23025685/

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