Cosa sono le funzioni finestra in SQL e a cosa servono?
sobes.tech AI
Risposta dell'AI
Le funzioni di finestra (window functions) in SQL sono funzioni che eseguono calcoli su un insieme di righe correlate alla riga corrente, senza aggregare i risultati in una singola riga, come avviene con le funzioni aggregate.
Permettono, ad esempio, di calcolare somme mobili, di classificare le righe, di calcolare totali cumulativi, medie, ecc., mantenendo il numero originale di righe nel risultato.
Esempio di utilizzo della funzione di finestra ROW_NUMBER():
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;
Qui, per ogni dipendente, viene calcolato il suo rango in base allo stipendio all’interno del dipartimento, mantenendo tutte le righe.
Le funzioni di finestra sono utili per analisi, report e calcoli complessi dove è necessario vedere il contesto di ogni riga rispetto alle altre.