Data Analytics

SQL - Window Functions

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames

20 domande da colloquio·
Mid-Level
1

Cos'è una window function in SQL?

Risposta

Una window function esegue un calcolo su un insieme di righe correlate alla riga corrente, senza ridurre i risultati a una singola riga di output. A differenza di GROUP BY che riduce il numero di righe, una window function preserva tutte le righe nel risultato aggiungendo una colonna calcolata. La clausola OVER() definisce la finestra su cui viene eseguito il calcolo.

2

Quale clausola è obbligatoria per definire una window function?

Risposta

La clausola OVER() è obbligatoria per qualsiasi window function. Indica al motore SQL che la funzione deve essere eseguita come window function piuttosto che come una normale funzione di aggregazione. OVER() può contenere PARTITION BY, ORDER BY e una specifica di frame, ma può anche rimanere vuota per applicare il calcolo all'intero set di risultati.

3

Qual è il ruolo di PARTITION BY in una window function?

Risposta

PARTITION BY divide l'insieme di righe in gruppi (partizioni) indipendenti, e la window function viene applicata separatamente a ciascuna partizione. A differenza di GROUP BY, PARTITION BY non riduce il numero di righe nel risultato. Per esempio, SUM(sales) OVER(PARTITION BY region) calcola le vendite totali per regione preservando ogni singola riga.

4

Qual è la principale differenza tra GROUP BY e PARTITION BY?

5

Cosa restituisce ROW_NUMBER() OVER(ORDER BY salary DESC)?

+17 domande da colloquio

Padroneggia Data Analytics per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis