SQL Server Median -Funktion

SQL Server Median -Funktion

Der statistische Median oder Kurzfilm bezieht sich auf einen Wert, der eine Reihe von Werten in zwei Hälften trennt. Sie können sich den Median des mittleren Wertes innerhalb einer Reihe sortierter Werte in aufsteigender oder absteigender Reihenfolge vorstellen.

Der Median zeigt in der Regel den größten oder kleinsten Wert an, abhängig von der festgelegten Menge. Zum Beispiel in einem Satz mit Werten:

100.200.300.400.500.600.700.800.900

Der Medianwert im obigen Satz beträgt 500. Daher ist 500 der viertgrößte Wert im ersten Satz und der viertelfeste im zweiten Satz.

In diesem Artikel erfahren Sie, wie Sie eine Spalte auf dem SQL -Server berechnen können. Beachten Sie, dass es keine spezifische Funktion gibt, um einen statistischen Median in SQL Server auszuführen.

Die Grundlagen

Beginnen wir mit den Grundlagen und verstehen, wie der Median für eine Reihe von Werten berechnet werden kann.

Um den Median eines Satzes zu berechnen. Sobald wir die Daten logischerweise sortiert haben, bestimmen wir den mittleren Wert.

Wenn der Satz eine ungerade Anzahl von Werten enthält, betrachten wir den mittleren Wert der Median des spezifischen Satzes.

Wenn der Satz jedoch eine gleichmäßige Anzahl von Werten umfasst, bestimmen wir die beiden mittleren Werte im Satz, fügen sie hinzu und teilen sich um 2.

Wir können die Formel zur Berechnung des Medianes eines bestimmten Satzes als:

QUELLE: Wikipedia.

Berechnen Sie den Median auf SQL Server

Lassen Sie uns lernen, wie Sie den Median in SQL Server berechnen können. Beginnen wir mit dem Einrichten von Demo -Informationen, wie in den folgenden Abfragen gezeigt:

Datenbank erstellen:

Datenbankmedian erstellen;

Verwenden Sie die Datenbank

Median verwenden;

Erstellen Sie eine Tabelle mit Spalten wie gezeigt:

Median verwenden;
Tabelle erstellen sample_data (
ID int Primärschlüsselidentität (1,1) nicht null,
Produktvarchar (50),
Preisgeld,
Menge int
);
In sample_data (Produkt, Preis, Menge) einfügen
Werte ('einstellbarer Stuhl', 380.40, 1),
('Winddes Regenschirm', 26.77, 3),
('Amazon Echo Dot', 39.99, 5),
('Luftreiniger', 99.99, 6),
('4K -Überwachungskamera', 109.85, 4),
('Fitness Tracker', 67.49, 10),
('Touchscreen -Handschuhe', 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);

Sobald wir die Beispieldaten haben, können wir den Median der bereitgestellten Daten berechnen.

Methode 1 - SQL -Ranking und CTE

Die erste Methode, mit der wir den Median der Werte berechnen können, ist die Rangfunktion und gemeinsame Tabellenausdrücke. Diese Methode funktioniert auch in älteren Versionen von SQL Server.

Dies funktioniert, indem die Set auf 50 Prozent und 50 Prozent niedrigste Werte gruppiert werden.

Wir können dies wie in der folgenden Beispielabfrage verwenden:

WÄHLEN
(
(Wählen Sie max (Preis) aus
(Wählen Sie den Top 50 Prozent Preis aus Sample_Data -Bestellung nach Preis) als untere HALF))
+
(Wählen Sie Min (Preis) aus
(Wählen Sie den Top 50 Prozent Preis aus Sample_Data Bestellung nach Preis Desc) als Tophalf)
) / 2 als Median

Der resultierende Wert ist wie:

Median
---------------------
109.85
(1 Reihe betroffen)

Methode 2 - Percentile_cont

Wie bereits erwähnt, gibt es zum Zeitpunkt des Schreibens dieses Artikels keine mediane Funktion in SQL Server. Wir können jedoch die Percentile_Cont -Funktion verwenden, um die gleiche Funktionalität zu erreichen.

Die Funktion gibt den Wert zurück, der für einen definierten Wertesatz bei einem bestimmten Prozentsatz eingestuft wird. Wenn wir den Prozentwert auf 0 festlegen.5 Die Funktion gibt einen Medianwert zurück.

Betrachten Sie die Beispielabfrage unten:

Wählen Sie Produkt, Preis, Perzentile_Cont (0).5)
innerhalb der Gruppe (Bestellung nach Preis)
Über (Partition nach Produkt) als Median
Von Sample_Data Order by Product Desc;

Die Abfrage gibt die Ausgabe als:

Erfahren Sie in der Dokumentation mehr über Percentile_cont.

Schließen

In diesem Artikel wird der statistische Median und verschiedene Möglichkeiten zur Berechnung des Medians einer Spalte auf SQL Server erörtert.