Data Analytics

SQL - Window Functions

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

20 questions d'entretien·
Confirmé
1

Qu'est-ce qu'une window function en SQL ?

Réponse

Une window function effectue un calcul sur un ensemble de lignes liées à la ligne courante, sans regrouper les résultats en une seule ligne de sortie. Contrairement à GROUP BY qui réduit le nombre de lignes, la window function conserve toutes les lignes du résultat tout en ajoutant une colonne calculée. La clause OVER() définit la fenêtre sur laquelle le calcul est effectué.

2

Quelle clause est obligatoire pour définir une window function ?

Réponse

La clause OVER() est obligatoire pour toute window function. Elle indique au moteur SQL que la fonction doit être exécutée comme une fonction de fenêtre plutôt que comme une fonction d'agrégation classique. OVER() peut contenir PARTITION BY, ORDER BY et une spécification de frame, mais elle peut aussi rester vide pour appliquer le calcul sur l'ensemble du résultat.

3

Quel est le rôle de PARTITION BY dans une window function ?

Réponse

PARTITION BY divise l'ensemble des lignes en groupes (partitions) indépendants, et la window function est appliquée séparément sur chaque partition. Contrairement à GROUP BY, PARTITION BY ne réduit pas le nombre de lignes dans le résultat. Par exemple, SUM(sales) OVER(PARTITION BY region) calcule le total des ventes par région tout en conservant chaque ligne individuelle.

4

Quelle est la différence principale entre GROUP BY et PARTITION BY ?

5

Que retourne ROW_NUMBER() OVER(ORDER BY salary DESC) ?

+17 questions d'entretien

Maîtrise Data Analytics pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement