Si ricevono inserimenti in streaming con possibili righe duplicate (ID univoco + timestamp presenti). Per query interattive che escludono i duplicati, quale modello di query si dovrebbe usare?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Usare la funzione finestra ROW_NUMBER con PARTITION by ID univoco insieme a WHERE row equals 1..
Perché questa è la risposta
La funzione finestra ROWNUMBER() con PARTITION BY ID univoco assegna un numero sequenziale a ciascuna riga all'interno di ogni partizione definita dall'ID univoco. Selezionando solo le righe dove ROWNUMBER è uguale a 1, si garantisce che per ogni ID univoco venga restituita solo la prima occorrenza, eliminando efficacemente i duplicati. Le altre opzioni non sono adatte: ORDER BY DESC e LIMIT 1 selezionerebbero solo una riga dall'intero set di dati, non per ogni ID univoco. GROUP BY su ID e timestamp, con SUM, non eliminerebbe i duplicati, ma raggrupperebbe solo le righe identiche. LAG è utile per confrontare una riga con la precedente, ma non è il metodo più efficiente o diretto per eliminare i duplicati in questo scenario.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta