Oracle
 sql >> Database >  >> RDS >> Oracle

Query Oracle SQL ottimale per completare il raggruppamento su più colonne in un'unica tabella contenente circa 7.000.000 di record

Anche se lo esprimi come un gruppo per query, esiste un altro approccio che utilizza row_number(). Questo enumera ogni riga del gruppo, in base alla clausola "order by". Nella query seguente, enumera ogni gruppo in base a external_reference e top_line_id, ordinato per 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