FirebirdSQL logo

PERCENT_RANK()

Disponible en

DSQL

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

DOUBLE PRECISION

Renvoie le rang relatif de la ligne actuelle dans un groupe de lignes. La fonction PERCENT_RANK est utilisée pour calculer la position relative d’une valeur dans une section ou un ensemble de requêtes résultant. La plage des valeurs renvoyées par PERCENT_RANK est supérieure à 0 et inférieure ou égale à 1. La première ligne de tout ensemble PERCENT_RANK est 0. Les valeurs NULL par défaut sont incluses et traitées comme les plus petites valeurs possibles.

Note

La fonction PERNCENT RANK est calculée comme (RANK-1)/(total_rows - 1), où total_rows est le nombre total de lignes dans la section.

Example 1. utiliser PERNCENT RANK
SELECT
  id,
  salary,
  PERCENT_RANK() OVER (ORDER BY salary)
FROM employee
ORDER BY salary;
Résultat
id salary percent_rank
-- ------ ------------
3    8.00          0.0
4    9.00         0.25
1   10.00          0.5
5   10.00          0.5
2   12.00          1.0

CUME_DIST()

Disponible en

DSQL

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

DOUBLE PRECISION

La fonction CUME_DIST calcule la distribution cumulative d’une valeur dans le jeu de données. La valeur de retour est comprise entre 0 et 1. La fonction CUME_DIST est calculée comme suit : (nombre de lignes précédant ou égal à la ligne courante) / (nombre total de lignes). La même valeur de distribution cumulative est toujours calculée pour des valeurs égales. Les valeurs par défaut NULL sont incluses et traitées comme les plus petites valeurs possibles.

Example 1. utiliser CUME_DIST
SELECT
  id,
  salary,
  CUME_DIST() OVER (ORDER BY salary)
FROM employee
ORDER BY salary;
Résultat
id salary    cume_dist
-- ------ ------------
3    8.00          0.2
4    9.00          0.4
1   10.00          0.8
5   10.00          0.8
2   12.00          1.0