Amazon Redshift
Guide du développeur de base de données (Version de l'API 2012-12-01)

Bolara Lunette G soleil de Femme rUr6Swgyq

Calcule la valeur médiane de la plage de valeurs dans une fenêtre ou une partition. Les valeurs NULL de la plage sont ignorées.

MEDIAN est une fonction de distribution inverse qui suppose un modèle de distribution continue.

MEDIAN est une fonction exécutée uniquement sur le nœud de calcul. La fonction renvoie une erreur si la requête ne fait pas référence à une table définie par un utilisateur ou à une table système Amazon Redshift.

Syntaxe

        
MEDIAN ( median_expression ) OVER ( [ PARTITION BY partition_expression ] )

Arguments

median_expression

Expression, comme un nom de colonne, qui fournit les valeurs pour lesquelles déterminer la médiane. L'expression doit disposer d'un type de données numériques ou datetime ou être convertible implicitement en une.

OVER

Clause qui spécifie le partitionnement de fenêtrage. La clause OVER ne peut pas contenir d'ordre de fenêtrage ou de spécification de cadre de fenêtrage.

PARTITION BY partition_expression

Facultatif. Expression qui définit la plage d'enregistrements de chaque groupe dans la clause OVER.

Types de données

Le type de retour est déterminé par le type de données de median_expression. Le tableau suivant illustre le type de retour de chaque type de données median_expression.

Type d'entrée Type de retour
INT2, INT4, INT8, NUMERIC, DECIMAL DECIMAL
FLOAT, DOUBLE DOUBLE
DATE DATE

Notes d'utilisation

Si l'argument median_expression est un type de données DECIMAL défini avec la précision maximale de 38 chiffres, il est possible que MEDIAN renvoie un résultat inexact ou une erreur. Si la valeur de retour de la fonction MEDIAN dépasse 38 chiffres, le résultat est tronqué pour s'adapter, ce qui entraîne une perte de précision. Si, au cours de l'interpolation, un résultat intermédiaire dépasse la précision maximale, un dépassement de capacité numérique se produit et la fonction renvoie une erreur. Pour éviter ces conditions, nous vous recommandons d'utiliser un type de données avec une précision inférieure ou l'argument median_expression avec une précision inférieure.

Par exemple, une fonction SUM avec un argument DECIMAL renvoie une précision par défaut de 38 chiffres. L'échelle du résultat est identique à celle de l'argument. Par conséquent, par exemple, une fonction SUM appliquée à une colonne DECIMAL(5,2) renvoie un type de données DECIMAL(38,2).

L'exemple suivant utilise une fonction SUM dans l'argument median_expression d'une fonction MEDIAN. Le type de données de la colonne PRICEPAID est DECIMAL (8,2), la fonction SUM renvoie donc DECIMAL(38,2).

        
soleil G Bolara Femme Lunette de
select salesid, sum(pricepaid), median(sum(pricepaid)) over() from sales where salesid < 10 group by salesid;

Pour éviter une perte potentielle de précision ou une erreur de dépassement de capacité, convertissez le résultat en un type de données DECIMAL avec une précision inférieure, comme dans l'exemple suivant.

        
select salesid, sum(pricepaid), median(sum(pricepaid)::decimal(30,2)) over() from sales where salesid < 10 group by salesid;

Exemples

Voir Exemples de fonctions de fenêtrage MEDIAN.

Bolara Lunette G soleil de Femme rUr6Swgyq Bolara Lunette G soleil de Femme rUr6Swgyq