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

一致する反転に基づいてレコードをグループ化する必要がある

    これはただの row_number() だと思います および集約:

    select listagg(row_number, ',') within group (order by row_number) as row_numbers,
           loan_id, txn_entry_api_name, sum(txn_amt) as txn_amt,
           listagg(txn_entry_api_name, ',') within group (order by row_number) as txn_entry_api_name
    from (select t.*,
                 row_number() over (partition by loan_id, txn_entry_api_name, abs(txn_amt) order by row_number) as seqnum
          from t
         ) t
    group by seqnum;
      


    1. 2回以上注文したすべての顧客IDと姓を一覧表示します

    2. SQL Serverでインラインテーブル値関数(ITVF)を作成する

    3. ゼロ以外の値がある場合の新しい文字列の入力方法

    4. MySQLはテーブルをループします