gpt4 book ai didi

mysql - 匹配表中相同列的多行 - MySql

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

我有一个表格如下。

+------------+-------------+---------+
| productid | attributeid | valueid |
+------------+-------------+---------+
| 1011052312 | 331100 | 1543697 |
| 1011052312 | 33113319 | 1534108 |
| 1011098009 | 33129 | 2655849 |
| 1011052380 | 331100 | 1543697 |
| 1011052380 | 33113319 | 1233908 |
+------------+-------------+---------+

现在我只需要获取那些具有非常选定的属性值对集的productid。举例来说,我需要获取属性 331100 值为 1543697 且属性 33113319 值为 1534108 的产品。产品1011052312满足此条件。

需要注意的一件事是,我应该避免多次联接,因为我需要匹配一长串属性。对于每个属性,可以有任意数量的可能值。

最佳答案

这是一个常见问题,选择所有至少匹配一个属性的产品,将它们分组,计算每个产品有多少个属性,然后使用 HAVING 子句仅选择具有所有属性的产品属性。像这样的事情:

SELECT productid
FROM table
WHERE (attributeid=331100 and valueid=1543697)
OR (attributeid=33113319 and valueid=1534108)
GROUP BY productid
HAVING COUNT(*) = 2

关于mysql - 匹配表中相同列的多行 - MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177529/

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