Maison > base de données > tutoriel mysql > Comment puis-je calculer efficacement la médiane dans MySQL ?

Comment puis-je calculer efficacement la médiane dans MySQL ?

Susan Sarandon
Libérer: 2025-01-20 15:17:12
original
361 Les gens l'ont consulté

How Can I Efficiently Calculate the Median in MySQL?

Calcul médian simplifié dans MySQL

Le calcul de la médiane (la valeur médiane dans un ensemble de données numériques) peut être difficile dans MySQL. Bien que le calcul de la moyenne à l’aide de AVG(x) soit simple, trouver la médiane nécessite une approche plus complexe.

Implémentation MySQL

Pour simplifier le calcul de la médiane, MariaDB/MySQL fournit la requête suivante :

<code class="language-sql">SELECT AVG(dd.val) as median_val
FROM (
  SELECT d.val, @rownum:=@rownum+1 as `row_number`, @total_rows:=@rownum
  FROM data d, (SELECT @rownum:=0) r
  WHERE d.val is NOT NULL
  -- 在此处添加任何必要的 WHERE 子句
  ORDER BY d.val
) as dd
WHERE dd.row_number IN ( FLOOR((@total_rows+1)/2), FLOOR((@total_rows+2)/2) );</code>
Copier après la connexion

Explication

Cette requête utilise les techniques suivantes :

  • Initialisez le compteur de lignes @rownum et le nombre total de lignes @total_rows pour suivre la position de chaque ligne dans les données triées.
  • Calcule la médiane (pour les ensembles de données pairs) en faisant la moyenne des valeurs correspondant à FLOOR((@total_rows 1) / 2) et FLOOR((@total_rows 2) / 2).
  • Dans MariaDB 10.3.3, vous avez la possibilité de calculer la médiane directement à l'aide de la fonction MEDIAN.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal