Fonction médiane de serveur SQL

Fonction médiane de serveur SQL

La médiane statistique, ou court, fait référence à une valeur qui sépare un ensemble de valeurs de moitié. Vous pouvez penser à la médiane de la valeur moyenne dans un ensemble de valeurs triées dans l'ordre croissant ou descendant.

La médiane indique généralement la plus grande ou la plus petite valeur, selon l'ensemble référencé. Par exemple, dans un ensemble avec des valeurs:

100,200,300,400,500,600,700,800,900

La valeur médiane dans l'ensemble ci-dessus est de 500. Par conséquent, 500 est la quatrième plus grande valeur du premier set et le quatrième plus petit du deuxième set.

Cet article apprendra à calculer une colonne dans SQL Server. Gardez à l'esprit qu'il n'y a pas de fonction spécifique pour effectuer une médiane statistique dans SQL Server.

Les bases

Commençons par les bases et comprenons comment calculer la médiane pour un ensemble de valeurs.

Dans les statistiques, pour calculer la médiane d'un ensemble, nous commençons par organiser les valeurs dans un ordre ascendant ou descendant. Une fois que les données ont été triées logiquement, nous déterminons la valeur moyenne.

Si l'ensemble contient un nombre impair de valeurs, nous considérons la valeur moyenne la médiane de l'ensemble spécifique.

Cependant, si l'ensemble comprend un nombre uniforme de valeurs, nous déterminons les deux valeurs moyennes de l'ensemble, les ajoutez et divisez par 2.

Nous pouvons exprimer la formule pour calculer la médiane d'un ensemble donné comme:

SOURCE: Wikipédia.

Calculer la médiane dans SQL Server

Laissez-nous apprendre à calculer la médiane dans SQL Server. Commençons par configurer des informations de démonstration comme indiqué dans les requêtes ci-dessous:

Créer une base de données:

Créer une médiane de base de données;

Utilisez la base de données

Utiliser la médiane;

Créez une table avec des colonnes comme indiqué:

Utiliser la médiane;
Créer une table Sample_data (
ID int identité de clé primaire (1,1) pas nul,
Produit Varchar (50),
prix,
quantité int
));
Insérer dans Sample_data (produit, prix, quantité)
Valeurs («chaise réglable», 380.40, 1),
(«Parapluie du vent», 26.77, 3),
('Amazon Echo Dot', 39.99, 5),
(«Purificateur d'air», 99.99, 6),
(«Caméra de sécurité 4K», 109.85, 4),
('Fitness Tracker', 67.49, 10),
(«Gants tactile à écran», 12.99, 8),
('Apple Airpods Pro', 329.99, 5),
(«Sony WH-1000xM4», 320.99, 5),
('MacBook Air', 999.99, 10),
('Dell XPS 13', 1170.00, 6);

Une fois que nous avons les données d'échantillons, nous pouvons calculer la médiane des données fournies.

Méthode 1 - Classement SQL et CTE

La première méthode que nous pouvons utiliser pour calculer la médiane des valeurs est la fonction de rang et les expressions de table communes. Cette méthode fonctionne même dans les anciennes versions de SQL Server.

Cela fonctionne en regroupant l'ensemble en valeurs les plus élevées de 50% et 50%.

Nous pouvons l'utiliser comme indiqué dans l'exemple de requête ci-dessous:

SÉLECTIONNER
(
(Sélectionnez Max (prix) à partir de
(Sélectionnez le prix des 50% supérieur de Sample_Data Order par prix) comme BottomHalf)
+
(Sélectionnez Min (prix) à partir de
(Sélectionnez le prix de 50% supérieur de Sample_data Order by Price Desc) comme tophalf)
) / 2 comme médian

La valeur résultante est comme:

médian
---------------------
109.85
(1 ligne affectée)

Méthode 2 - percetile_cont

Comme mentionné, au moment de la rédaction de cet article, il n'y a pas de fonction médiane dans SQL Server. Cependant, nous pouvons utiliser la fonction centile_cont pour obtenir les mêmes fonctionnalités.

La fonction renvoie la valeur classée à un pourcentage spécifique pour un ensemble défini de valeurs. Par conséquent, si nous définissons la valeur en pourcentage à 0.5, la fonction renverra une valeur médiane.

Considérez l'exemple de requête ci-dessous:

Sélectionnez le produit, le prix, le centile_cont (0.5)
au sein du groupe (commande par prix)
Sur (partition par produit) comme médian
De Sample_Data Order by Product Desc;

La requête renvoie la sortie comme suit:

En savoir plus sur le centile_cont dans la documentation.

Fermeture

Cet article traite de la médiane statistique et de diverses façons de calculer la médiane d'une colonne dans SQL Server.