sql >> Base de Datos >  >> RDS >> Oracle

Consulta Oracle SQL óptima para completar el agrupamiento en múltiples columnas en una sola tabla que contiene ~ 7,000,000 registros

Aunque expresa esto como un grupo por consulta, hay otro enfoque que usa row_number(). Esto enumera cada fila en el grupo, según la cláusula "ordenar por". En la siguiente consulta, enumera cada grupo según external_reference y 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