gpt4 book ai didi

php - mysql - 根据另一列的值组合选择一列

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

您好,我需要根据给定的 avid 组合获取 plistid。例如,我提交了 1 和 4 avid 的组合,它应该返回 1 的 plistid。另一个例子是当我提交 2 和 5 avid 的组合时 它应该返回 5 的 plistid。如果我提交了 1 和 3,它应该不会返回任何内容,因为它们具有相同的 attributeid

如何在mysql中生成它这是我的 table
property

注意:根据提交的 avid 数量,avid 可以是 1、2、3 或 4 个数字的组合。

最佳答案

首先,通过plistid找到avid的所有匹配项,然后检查它们是否具有不同的attributeid。您可以使用聚合来做到这一点,作为集内集查询的变体:

select plistid
from t
group by plistid
having sum(avid = 1) > 0 and
sum(avid = 4) > 0 and
count(distinct case when avid in (1, 4) then attributeid end) = 2

having 子句中的前两个条件表示您想要什么 avid。他们正在计算 avid 与其中一个值一起出现的次数,每个值仅在至少找到一个值时才返回 true。最后是说您需要在行上使用不同的属性 ID。

关于php - mysql - 根据另一列的值组合选择一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011071/

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