显示具有不同单个ID值的行

时间:2017-11-29 07:45:59

标签: sql postgresql

我有一个(部分)表格,如下所示:

Some_ID     Some_Value
1           A
2           B
3           C
3           C
3           D
4           E
4           E
4           E

我想找到每个ID具有不同值的所有行,因此对于此示例,我的输出应为:

Some_ID     Some_Value
3           C
3           C
3           D

它甚至不必看起来像这样,只需获取没有值的ID就足够了。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你可以用这个:

SELECT some_id
FROM table_name
GROUP BY some_id
HAVING COUNT(DISTINCT some_value) > 1
ORDER BY some_id;

答案 1 :(得分:1)

有一个子查询返回Some_ID,其中包含多个不同的Some_Value。加入该结果:

select t1.Some_ID, t1.Some_Value
from tablename t1
join (select Some_ID
      from tablename
      group by Some_ID
      having count(distinct Some_Value) > 1) t2
   on t1.Some_ID = t2.Some_ID