Sql 我刚刚创建的列上的条件

Sql 我刚刚创建的列上的条件,sql,postgresql,Sql,Postgresql,我无法用sql查询解决问题 我有一个表,其中包含如下内容: +------+------+------+ | Col1 | Col2 | Col3 | +------+------+------+ | A1 | B1 | C | | A2 | B2 | D | | A3 | B3 | E | | A3 | B3 | D | +------+------+------+ 如果Col1和Col2具有相同的值,则a希望仅选择具有唯一Col3的行

我无法用sql查询解决问题

我有一个表,其中包含如下内容:

+------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| A1   | B1   | C    |
| A2   | B2   | D    |
| A3   | B3   | E    |
| A3   | B3   | D    |
+------+------+------+
如果Col1和Col2具有相同的值,则a希望仅选择具有唯一Col3的行

因此,结果应该是:

+------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| A1   | B1   | C    |
| A2   | B2   | D    |
+------+------+------+
因为第3行和第4行的Col1和Col2相似,但Col3不同


我需要在查询期间创建的新列上添加一个条件,但我无法管理如何执行该操作。

如果我理解正确,这是一个简单的分组:

select col1, col2, min(col3) as col3
from the_table
group by col1, col2
having count(distinct col3) = 1

如果我理解正确,这是一个简单的分组:

select col1, col2, min(col3) as col3
from the_table
group by col1, col2
having count(distinct col3) = 1

这不应该是
COUNT(DISTINCT col3)=1
?@JoachimIsaksson:可能是的(样本数据不需要它,但如果我重新阅读问题,那么你是对的)。谢谢,那不是计数(不同的col3)=1吗?@JoachimIsaksson:可能是的(样本数据不需要它,但如果我重新阅读问题,那么你是对的)。谢谢