Je ontvangt streaming inserts met mogelijke dubbele rijen (unieke ID + timestamp aanwezig). Welk querypatroon moet je gebruiken voor interactieve queries die duplicaten uitsluiten?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Gebruik de ROW_NUMBER window function met PARTITION by unique ID samen met WHERE row equals 1..
Waarom dit het antwoord is
De ROWNUMBER() windowfunctie, gepartitioneerd op de unieke ID en geordend op de timestamp (meestal aflopend om de meest recente rij te krijgen, of oplopend als de eerste insert de voorkeur heeft), wijst een uniek nummer toe aan elke rij binnen elke partitie. Door vervolgens te filteren op ROWNUMBER() = 1, selecteer je slechts één rij per unieke ID, waardoor duplicaten worden uitgesloten. Dit is efficiënt voor interactieve queries. De optie met ORDER BY en LIMIT 1 werkt alleen voor de hele dataset, niet per unieke ID. GROUP BY op unieke ID en timestamp en SUM op waarden zou niet de gewenste unieke rijen opleveren, maar aggregaties. LAG is bedoeld om waarden van een vorige rij op te halen en is niet geschikt om duplicaten te elimineren op deze manier.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig