仅在oracle sql developer中选择1列上的不同值

时间:2017-01-15 13:00:58

标签: sql oracle

我有3列。

column_a, column_b, column_c

我试图让所有的行只在column_a中使用。

当我写

select distinct column_a,column_b,column_c

我认为它给了我不同的配对。所以我有

value1 - a - b
value1 - a - c

我想通过column_b和column_c值保留column_a的不同值,因为我将从该sql查询创建一个表,并且我想将PK添加到column_a列。

1 个答案:

答案 0 :(得分:0)

我认为最安全的方法是使用row_number()

select a, b, c
from (select t.*,
             row_number() over (partition by a order by a) as seqnum
      from t
     ) t
where seqnum = 1;

这将为每个a值返回一个任意行,但a不会在结果集中重复。