我在PL / SQL Developer中使用Oracle。
我在下面有这个简单的SQL查询:
select
col1
col2,
col3,
col4,
col5
from table t1
(condition required)
and col1=X or col=X or...
我希望选择具有相同值的col2和col3的所有不同记录。 例如:
记录1: col2 = 5 col3 =橙色记录2: col2 = 5 col3 =橙色记录3:< /强> col2 = 8 col3 = apple
记录4: col2 = 8 col3 = apple
答案 0 :(得分:2)
使用分析函数:
select t.*
from (select t.*, count(*) over (partition by col2, col3) as cnt
from t
) t
where cnt > 1
order by col2, col3;
答案 1 :(得分:0)
select
t1.col1
t1.col2,
t1.col3,
t1.col4,
t1.col5
from table t1
join table t2 on t1.col2 = t2.col2 and t1.col3 = t2.col3 and t1.rowid <> t2.rowid
where ...
;
如果表格中有主键列,请使用该列而不是rowid
。