sql >> データベース >  >> RDS >> Oracle

Oracle SQL:グループからレコードだけを見つける方法

    集計を使用する:

    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);
    



    1. MySQL:存在しない場合は制約を追加します

    2. サーバーサイドデータを保存する最良の方法は?

    3. Oracle-更新結合-非キー保存テーブル

    4. MySQLの一時テーブルに権限を割り当てるためのより良い方法はありますか?