gpt4 book ai didi

mysql - 选择*(其中标签名称位于联结表中)

转载 作者:行者123 更新时间:2023-11-29 14:36:52 25 4
gpt4 key购买 nike

我目前有一个查询,该查询选择人们正在观看视频的所有 vid_id 并按大多数观看者对它们进行排序。每次有人观看视频时,都会在 scrusersonline 中创建一个条目,其中包含字段 vid_id 用户名 时间戳

我还有一个 tag_map 表和一个标签表。 tag_map 包含字段 id tag_idvid_id,tags 包含字段 tag_idname。我只想修改下面的查询,以便仅针对特定标签名称显示所有 vid_id 结果。预先感谢您提供的任何专家帮助。

我正在尝试修改的查询。 scrusersonline 具有字段 vid_id 时间戳用户名。它检索大多数用户查看的 vid_ids 并按降序排序。我想进一步将这些结果限制为某个标签名称

    SELECT SQL_CALC_FOUND_ROWS scrusersonline.vid_id, COUNT(scrusersonline.id) 
AS idcount FROM scrusersonline
GROUP BY scrusersonline.vid_id ORDER BY idcount DESC

下面的查询是简单选择具有特定标签名称但与视频表链接的所有 vid_id 的示例。我希望能够更改上面的查询,以便它只显示标签名称的结果

SELECT SQL_CALC_FOUND_ROWS video.* FROM tag_map 
INNER JOIN tags2 ON tags2.tag_id = tag_map.tag_id
INNER JOIN video ON video.vid_id = tag_map.vid_id
WHERE name IN (?)
ORDER BY video.timestamp DESC LIMIT ?, ?

最佳答案

以下内容将为您提供结果:

SELECT SQL_CALC_FOUND_ROWS a.vid_id, count(a.id) as idCount
FROM scruseronline as a
INNER JOIN tag_map as b
ON b.vid_id = a.vid_id
INNER JOIN tags2 as c
ON c.tag_id = b.tag_id
AND c.name IN (?)
GROUP BY a.vid_id
ORDER BY idCount DESC

哦,您可能希望从 tag_map 中删除 id,因为其他字段的组合应该是唯一的,并且代理键通常不会被引用。

关于mysql - 选择*(其中标签名称位于联结表中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844236/

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