Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 当且仅当B列中的相同值出现两次或两次以上时,如何返回A列中的值?_Sql_Oracle_Count_Conditional_Teradata - Fatal编程技术网

Sql 当且仅当B列中的相同值出现两次或两次以上时,如何返回A列中的值?

Sql 当且仅当B列中的相同值出现两次或两次以上时,如何返回A列中的值?,sql,oracle,count,conditional,teradata,Sql,Oracle,Count,Conditional,Teradata,假设我有一组像这样的数据 Column A | Column B (Beverage) Andres Coffee Erica Coffee David Beer Tyler Beer Tyler Beer Andres Shake Erica Coffee Erica Coffee David Beer David Coffee Tyler Shake 我想返回:A

假设我有一组像这样的数据

Column A | Column B (Beverage)
Andres      Coffee
Erica       Coffee
David       Beer
Tyler       Beer
Tyler       Beer
Andres      Shake
Erica       Coffee
Erica       Coffee
David       Beer
David       Coffee
Tyler       Shake

我想返回:A列中的Erica、David和Tyler,因为他们每人至少喝过一种饮料两次或两次以上(在B列中)。

这是一个聚合查询:

select distinct t.cola
from t
group by t.cola, t.colb
having count(*) >= 2;
分组方式
查询中,
select distinct
有意义,这是非常罕见的情况之一。你不是在要求b列的重复值——你甚至不想知道b列有多少这样的列。是否存在任何列b的重复项