我对 SQL 非常业余,所以请耐心等待:)
我正在尝试找到一个好的查询来查找第 2 列中的一组结果的第 3 列为空值的所有结果。
例如,这是数据
Column1 Column2 Column3
Product1 GroupA Data
Product2 GroupA
Product3 GroupA
Product4 GroupB
Product5 GroupB
Product6 GroupC Data
因此,我在结果中查找的是 Product4 和 Product5,因为它们是 GroupB 的一部分,并且没有 Column3 的结果
最终的想法是,每个GroupX产品将在Column3中至少有一个条目。
查找这些结果的适当查询是什么?
感谢您花时间回答我的简单问题:)
问候!
最佳答案
如果您想要完整的行,则 not exists
似乎是你想要的:
select t.*
from t
where not exists (select 1
from t t2
where t2.column2 = t.column2 and
t2.column3 is not null
);
注意:这假设空白为 NULL
。您可能希望最后一个条件为 t2.column3 <> ''
.
如果您只想每列2值一行,您可以使用聚合:
select t.column2, group_concat(t.column1) as column1s
from t
group by t.column2
having min(t.column2) is null;
关于mysql - 从分组的 Column2 中选择在 Column3 中没有值的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41805770/