集計を使用する:
select foreignKey, min(primaryKey)
from t
group by foreignKey;
ランダムな値が必要な場合は、keep
を使用できます 構文:
select foreignKey,
min(primaryKey) keep (dense_rank first order by dbms_random.random)
from t
group by foreignKey;
また、列が多い場合は、row_number()
を使用できます。 または相関サブクエリ:
select t.*
from t
where t.primarykey = (select min(t2.primarykey) from t t2 where t2.foreignkey = t.foreignkey);