FirebirdSQL logo

NTILE()

Disponible en

DSQL

Syntaxe
NTILE(<expr>) OVER {<window_specification> | window_name}
Table 1. Paramètres de la fonction NTILE
Paramètre Description

expr

Expression de type entier. Indique le nombre de groupes dans lesquels chaque section doit être divisée.

type de résultat de retour

BIGINT

La fonction NTILE organise les lignes d’une section ordonnée en un nombre spécifié de groupes de façon à ce que les tailles des groupes soient aussi proches que possible. Les groupes sont numérotés en commençant par un. Pour chaque ligne, la fonction NTILE retourne le numéro du groupe auquel la ligne appartient.

Si le nombre de lignes de la section n’est pas divisible par <expr>, des groupes de deux tailles différentes d’une unité sont formés. Les plus grands groupes viennent avant les plus petits dans l’ordre donné par la clause OVER.

Example 1. utiliser NTILE
SELECT
  id,
  salary,
  NTILE(3) OVER (ORDER BY salary)
FROM employee
ORDER BY salary;
Résultat
id salary        ntile
-- ------ ------------
3    8.00            1
4    9.00            1
1   10.00            2
5   10.00            2
2   12.00            3
Voir aussi :

SELECT,PARTITION BY,ORDER BY.

ROW_NUMBER()

Disponible en

DSQL

Syntaxe
ROW_NUMBER() OVER {<window_specification> | window_name}
type de résultat de retour

BIGINT

Renvoie le numéro de ligne consécutif dans la section de l’ensemble de résultats, où 1 correspond à la première ligne de chaque section.

Example 1. utiliser ROW_NUMBER
SELECT
  id,
  salary,
  ROW_NUMBER() OVER (ORDER BY salary)
FROM employee
ORDER BY salary;
Résultat
id salary row_number
-- ------ ----------
3    8.00          1
4    9.00          2
1   10.00          3
5   10.00          4
2   12.00          5