Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Optimal Oracle SQL Query para completar group-by em várias colunas em uma única tabela contendo ~ 7.000.000 registros


Embora você expresse isso como um grupo por consulta, há outra abordagem usando row_number(). Isso enumera cada linha no grupo, com base na cláusula "order by". Na consulta a seguir, ele enumera cada grupo com base em external_reference e top_line_id, ordenados por 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