一个字段上的GROUPBY子句和另一个字段上的特定记录计数条件的SQL帮助

一个字段上的GROUPBY子句和另一个字段上的特定记录计数条件的SQL帮助,sql,sql-server,group-by,pivot,having-clause,Sql,Sql Server,Group By,Pivot,Having Clause,需要帮助获取SQL。我有一张桌子 根据字段2中的abc和def,需要以下结果记录 每个值只出现一次,而不是更多 除abc和def外,没有其他值。 预期结果 不应作为结果的记录 我尝试了不同的实验 Select * from MYTABLE WHERE FIELD1 in ('abc','def') Group by Field1 Having Count(*) = 2 但是我在这里做了一些根本错误的事情,因为它给了我Member4,因为它有两次出现abc您可以在having子句中使用条件聚合

需要帮助获取SQL。我有一张桌子

根据字段2中的abc和def,需要以下结果记录

每个值只出现一次,而不是更多 除abc和def外,没有其他值。 预期结果

不应作为结果的记录

我尝试了不同的实验

Select * from MYTABLE
WHERE FIELD1 in ('abc','def')
Group by Field1
Having Count(*) = 2

但是我在这里做了一些根本错误的事情,因为它给了我Member4,因为它有两次出现abc

您可以在having子句中使用条件聚合表达式:


大多数数据库支持字符串聚合。这可能是最简单的方法。例如,在MySQL语法中:

select field1
from t
group by field1
having group_concat(field2 order by field2) = 'abc,def';

用您正在使用的数据库标记您的问题。
select field1
from t
group by field1
having group_concat(field2 order by field2) = 'abc,def';