我在下面的表格中搜索大小2.但返回结果后,我得到两行产品ID为1,2。因为产品id 1,2包含大小2.但id 2的产品也包含其他大小。这是3和5。我期待只为大小2.搜索参数的精确匹配mysql
所以,正是我想要的是最终的结果将只包含一个行产品ID 1.因为我只寻找大小2.
那么我应该如何实现这一点。
我在下面的表格中搜索大小2.但返回结果后,我得到两行产品ID为1,2。因为产品id 1,2包含大小2.但id 2的产品也包含其他大小。这是3和5。我期待只为大小2.搜索参数的精确匹配mysql
所以,正是我想要的是最终的结果将只包含一个行产品ID 1.因为我只寻找大小2.
那么我应该如何实现这一点。
您可以group by
和having
做到这一点:
select product_id
from t
group by product_id
having min(size) = max(size) and min(size) = 2;
谢谢这个作品,如果我只搜索大小2.但如果我正在寻找大小2,3,5,那么我会得到两行作为产品ID 1,2。那么这怎么可能呢? –
@Yogeshk。 。 。然后你有一个不同的问题,它应该被问为*问题*而不是*评论*。修改您当前的问题将是无礼的。它会使任何答案无效,并向他们提出低估。 –
是的。非常遗憾。但是我想要在相同的查询中完成相同的结果。这就是为什么我要求评论。 –
不错的问题@Yogesh请尝试我的答案。 –
谢谢@Bibhudatta Sahoo –