执行比较“向下”一个表,而不是跨行

时间:2013-07-19 20:32:03

标签: sql

我有一个SQL问题,我没有足够的词汇来解释。

这是一张简化的表格。我的目标是确定Tax_ID不相等的组。在这种情况下,查询应返回组1和3.

Group   Line_ID     Tax_ID
1   1001        11
1   1002        13
2   1003        17
2   1004        17
3   1005        23
3   1006        29

我可以轻松地跨行进行比较,但是我不知道如何在表格中“向下”进行比较(这里真的是我的词汇失误的地方)。即什么是导致SQL比较组内Tax_ID值的语法?

任何帮助表示赞赏,

  • OB

1 个答案:

答案 0 :(得分:2)

最简单的方法是将group byhaving子句一起使用:

select "group"
from t
group by "group"
having min(tax_id) <> max(tax_id);

您还可以将having子句标记为:

having count(distinct tax_id) > 1;

但是,count(distinct)min()max()操作更昂贵。