gpt4 book ai didi

MySQL:只选择只有特定值的组

转载 作者:行者123 更新时间:2023-11-29 07:30:56 26 4
gpt4 key购买 nike

我想选择其中只有特定值的组。这将排除具有这些值和其他值的组。

具体来说,我想选择字段 Type 中值为 1 和 2 的组

  • 不包括值为 1、2、3 的组
  • 与值为1,2,5的一组相同
  • 但是,将选择值为 1 和 2 的组。

例如,考虑下表

         Type1   f_Name     Product
User A 1 Bob Orange
User A 2 Bob Apple
User B 1 Bill Orange
User B 2 Bill Apple
User B 3 Bill Peach

在这种情况下,我希望用户 A 出现,而​​不是用户 B。

我曾尝试使用 NOT IN 子句来实现,但数据只会取出值并包含用户不需要的值。在这种情况下,用户 B 出现但没有值 3。请提供任何帮助。

最佳答案

您可以使用group byhaving 来标识组:

select f_name
from t
group by f_name
having sum( (Type1 = 1) ) > 0 and
sum( (Type1 = 2) ) > 0 and
sum( (Type1 in (1, 2) ) = count(*);

having 子句中的每个条件都会计算与该条件匹配的行数。 > 0 表示至少有一行。 = count(*) 表示所有行都匹配。

关于MySQL:只选择只有特定值的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51332436/

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