gpt4 book ai didi

mysql - 如何在mysql中搜索多分类

转载 作者:可可西里 更新时间:2023-11-01 07:40:57 26 4
gpt4 key购买 nike

视频:

v_id, 
v_name

属性:

p_id,
p_name

property_video:

pv_id,
pv_v_id, <- video id
pv_p_id, <- property id

我想搜索多猫,例如:

给定一些p_id(属性id)我想搜索匹配那些id的视频

需要 property_video 中的所有 p_id 和相同的 pv_v_id

然后mysql写道:

SELECT
a.*,
b.*
FROM
video as a,
property_video as b
WHERE
a.v_id = b.pv_v_id
and b.pv_p_id in(12,15)
GROUP BY a.v_id;

我知道这部分 in(12,15) 必须更改为“and”,但我不知道如何让它工作。

最佳答案

在这里,我们将在指示视频 ID 的列上连接 property_video 和视频。 where 条件允许我们将结果限制为仅具有 IN 子句中包含的属性的视频。

SELECT v.v_id
FROM property_video pv
JOIN video v
ON pv.pv_v_id = v.v_id
WHERE pv.pv_p_id IN (12,15)
GROUP BY v.v_id
HAVING count(distinct pv.pv_p_id) = 2

通过按视频 ID 分组,然后仅保留具有 2 个不同属性(即必须同时具有,而不是只有一个)的视频,您可以满足多类别要求。这假设您构建查询语法的方法使您能够调整 HAVING 子句中的数字以匹配您的预期过滤器中不同属性的数量。

关于mysql - 如何在mysql中搜索多分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946103/

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