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

Optimal Oracle SQL-forespørgsel til at fuldføre grupper efter på flere kolonner i en enkelt tabel indeholdende ~ 7.000.000 poster

Selvom du formulerer dette som en gruppe efter forespørgsel, er der en anden tilgang, der bruger rækkenummer(). Dette opregner hver række i gruppen, baseret på "order by"-sætningen. I den følgende forespørgsel opregner den hver gruppe baseret på ekstern_reference og toplinje_id, sorteret efter 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. Opdag og slet huller i tidsserier

  2. Hvad er forskellen mellem char, nchar, varchar og nvarchar i SQL Server?

  3. eksport af db-objekter til versionskontrol

  4. Sådan finder du nth Row i MySQL