Sobes.tech
Junior — Middle

Hai esperienza nell'uso delle funzioni di finestra durante il lavoro con query SQL?

sobes.tech AI

Risposta dell'AI

Sì, lavorando con query SQL, ho utilizzato le funzioni di finestra (window functions). Permettono di eseguire calcoli su un insieme di righe correlate alla riga corrente, senza raggruppare i risultati, il che è utile per analisi e query complesse.

Funzioni di finestra principali:

  • ROW_NUMBER() — numerazione delle righe nella finestra
  • RANK(), DENSE_RANK() — classificazione considerando i pareggi
  • SUM(), AVG(), COUNT() — funzioni aggregate sulla finestra

Esempio: ottenere una lista di dipendenti con il loro salario e il loro rango per dipartimento in ordine decrescente di salario:

SELECT
  employee_id,
  department_id,
  salary,
  ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Qui, PARTITION BY divide i dati per dipartimento, e ORDER BY definisce l'ordine all'interno di ogni dipartimento. Le funzioni di finestra consentono di eseguire query analitiche complesse senza perdere dettagli.