一个字段上的GROUPBY子句和另一个字段上的特定记录计数条件的SQL帮助
需要帮助获取SQL。我有一张桌子 根据字段2中的abc和def,需要以下结果记录 每个值只出现一次,而不是更多 除abc和def外,没有其他值。 预期结果 不应作为结果的记录 我尝试了不同的实验一个字段上的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子句中使用条件聚合
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';