gpt4 book ai didi

php - 电视节目推荐算法和 SQL

转载 作者:行者123 更新时间:2023-11-29 09:21:08 26 4
gpt4 key购买 nike

有些用户可以通过 ID 引用,如下表所示:

users:
user_id

我尝试了一种跟踪节​​目观看次数的解决方案

tvshow_hits:
user_id|show_id

还有一个表格,其中包含详细信息:

tvshows:
show_id|name

但这不是必需的,我愿意改变。我觉得如果他们看过的话,没有必要更多地跟踪个人观看次数,因为与音乐电视节目和电影不同,他们只看了一次,如果再看一次,它们就没有任何“分量”。

所以现在我将逆向工作:结果页面应如下所示:

观看的人也在观看

South Park 40%
Family Guy 20%
Something 10%

所以,我需要的是一个查询和(如果需要)PHP 代码

选择节目(按照P DESC的顺序),与其他节目(已观看过的用户观看过的节目)相比,观看该节目的人数) 以百分比形式表示为 P WHERE 已观看过 LIMIT x

的用户观看过该节目

我希望这是我解释它的最好方式,这是有道理的,请随意想出另一种方式来完成我想做的事情。欢迎所有建议和帮助。

最佳答案

未经测试,但类似这样:

SELECT name, Count(1) AS no_users
FROM
tvshowhitdetails
WHERE
userid IN (
SELECT userid
FROM
tvshow_hits
WHERE
showid = @showid
)
AND
showid <> @showid
GROUP BY
name
ORDER BY
no_users DESC

将为您提供节目名称(tvshowhitdetails 这里是一个连接 show_hits 和节目详细信息表的 View )以及观看该节目的人数。然后,您可以获取另一个查询中的用户总数来计算出您的百分比。

更新
您的 tvshowhitdetails View 如下所示:

CREATE VIEW tvshowhitdetails
AS
SELECT tvshow_hits.UserId, tvshow_hits.ShowId, tvshows.Name
FROM tvshow_hits LEFT OUTER JOIN
tvshows ON tvshow_hits.ShowId = tvshows.ShowId

关于php - 电视节目推荐算法和 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1782029/

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