Oracle
 sql >> база данни >  >> RDS >> Oracle

Оптимална Oracle SQL заявка за завършване на групиране на множество колони в една таблица, съдържаща ~ 7 000 000 записа

Въпреки че формулирате това като група по заявка, има друг подход, използващ row_number(). Това изброява всеки ред в групата въз основа на клаузата "подреждане по". В следната заявка изброява всяка група въз основа на external_reference и top_line_id, подредени по support_id:

select *
from (Select t.*,
             row_number() over (partition by external_reference, top_line_id
                                order by support_id) as seqnum
      from STAGE.SFS_GH_R3_IB_ENTLMNT_CONTACTS t
     )
where seqnum = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spring Data JPA, извикваща Oracle функция

  2. Oracle Lag функция с динамичен параметър

  3. Oracle ORA-00979 - не е израз GROUP BY

  4. Oracle:Изтриване на дубликати в група от таблица с присъединяване

  5. Защо индексът NLSSORT не се използва за тази заявка?