仅选择第二列始终具有相同值的元组

时间:2017-05-18 05:38:43

标签: sql database db2

我有一个与此类似的表

ID | CountryID
1 | 22
2 | 19
4 | 19
5 | 9
6 | 14

我希望按第一个ID列进行分组,但只选择行,其中CountryID在整个ID中具有相同的值。结果表应该看起来像

2147483647

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我认为以下查询应该有效:

SELECT ID, MAX(CountryID)
FROM Table1
GROUP BY ID
HAVING MIN(CountryID) = MAX(CountryID)

答案 1 :(得分:1)

SELECT ID, count(distinct CountryID)
FROM Table1
GROUP BY ID
HAVING count(distinct CountryID)=1