Oracle
 sql >> Baza danych >  >> RDS >> Oracle

trzeba grupować rekordy na podstawie pasujących odwróceń

Myślę, że to tylko row_number() i agregacja:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać dostęp do bazy danych Oracle przez sieć?

  2. Uzyskaj wartość na podstawie maks. innej kolumny pogrupowanej według innej kolumny

  3. sql - pojedyncze zapytanie zwracające wartości, których nie ma

  4. 30 najbardziej użytecznych zapytań współbieżnych menedżerów

  5. Tekst Oracle uciekający za pomocą nawiasów klamrowych i symboli wieloznacznych