MySQL Medianwert

MySQL Medianwert
Der mittlere Wert des Datensatzes wird gemäß den Statistiken als Medianwert bezeichnet. Der Medianwert ist die mittlere Anzahl einer Liste mit ungeraden Zahlenelementen. Der Medianwert wird berechnet, indem der Durchschnitt der beiden mittleren Anzahl der Liste festgestellt wird, wenn die Gesamtelemente der Liste gerade sind. Es ist notwendig, die Liste in aufsteigender Reihenfolge zu sortieren, um den mittleren Wert herauszufinden. Es gibt keine integrierte Funktion in MySQL, um den Medianwert herauszufinden. Der Medianwert wird in MySQL beim Schreiben der Abfrage berechnet. Der Weg, um den Medianwert in MySQL herauszufinden, wurde in diesem Tutorial mit der Tabelle gezeigt.

Voraussetzungen:

Sie müssen eine Tabelle mit Daten in einer MySQL -Datenbank erstellen, um den Medianwert der Tabellendaten zu ermitteln. Öffnen Sie das Terminal und verbinden Sie sich mit dem MySQL -Server, indem Sie den folgenden Befehl ausführen:

$ sudo mysql -u root

Führen Sie den folgenden Befehl aus, um eine Datenbank mit dem Namen zu erstellen test_db:

Datenbank erstellen test_db;

Führen Sie den folgenden Befehl aus, um die Datenbank auszuwählen:

Verwenden Sie test_db;

Führen Sie die folgende Anfrage aus, um eine Tabelle mit dem Namen zu erstellen Markierungen mit fünf Feldern:

Tischmarken erstellen (
ID int auto_increment Primärschlüssel,
curse_code varchar (10) nicht null,
Kurs_Name Varchar (30),
STD_ID VARCHAR (20),
erhalten_marks int);

Führen Sie die folgende Abfrage aus, um fünf Werte in die Einführung in die Markierungen Tisch:

In 'Marks' ('ID', 'COURS_CODE', 'COURS_NAME', 'STD_ID', 'erhaltene_marks') einfügen
(Null, 'C-4533', 'Java-Programmierung', '2312', '90'),
(NULL, 'C-7845', 'PHP-Programmierung', '9564', '78'),
(NULL, 'C-3009', 'Web Design', '9076', '65'),
(Null, 'C-4511', 'Python-Programmierung', '8923', '75'),
(Null, 'C-7645', 'Bash-Programmierung', '1289', '81');

Führen Sie die Abfrage aus, um die Werte des Markierungen Tisch:

Aus Markierungen auswählen;

Der erhalten_marks Feld der Markierungen Die Tabelle enthält die numerischen Werte, und der Medianwert dieser Spalte wurde im nächsten Teil dieses Tutorials durchsucht:

Um den Medianwert in MySQL herauszufinden, muss eine Indexnummer an jede Zeile der Tabelle angeschlossen werden. Der folgende Befehlsbefehl initialisiert die Variable @Row_index mit dem Wert -1, da der Index des Datensatzes von 0 gezählt wird:

Setze @row_index: = -1;

Die Aufzeichnungen der Tabelle müssen basierend auf den Werten des Felds erhalten werden. Führen Sie also die folgende Abfrage aus, um die Tabelle basierend auf dem Feld "erhalten" zu sortieren und den Indexwert mit jeder Zeile hinzuzufügen:

Wählen Sie @row_index: = @row_index + 1 als row_index, erhalten_marks
Aus Markierungen
Reihenfolge durch erhaltene _marks;

Ausgang:

Nach der Ausführung der vorherigen Befehle wird die folgende Ausgabe angezeigt. Nach dem Sortieren enthält der erste Index den niedrigsten Wert der Spalte erhalten

Die Gesamtzahl der Datensätze in der Markierentabelle beträgt 5, was ungerade ist. Daher wird der Medianwert der Spalte erhaltenen_Marks durch die folgende Auswahlabfrage herausgefunden. Der letzte Wert des Zeilenindex beträgt 4 gemäß der Ausgabe der vorherigen Abfrage 4. Sowohl Boden- als auch CEIL -Werte der 4/2 sind 2. Der entsprechende erhaltene Wert des Zeilenindex 2 beträgt 78.

WÄHLEN *
AUS (
Wählen Sie @row_index: = @row_index + 1 als row_index, erhalten_marks
Aus den Markierungen bestellen nach erhaltenen_marks) als Unterabfrage
Wo unterab.row_index in (floor (@row_index / 2), Ceil (@row_index / 2));

Ausgang:

Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt:

Der nächste Teil dieses Tutorials zeigt. Führen Sie die folgende Einfügungsanfrage aus, um dem einen weiteren Datensatz zu dem hinzuzufügen Markierungen Tabelle, um die Gesamtzahl der Datensätze der Tabelle auf 6 zu erstellen, die sogar: sogar: sogar:

In 'marks' ('id', 'curse_code', 'curs_name', 'std_id', 'erhalten_marks') einfügen (null, 'c-1122', 'c ++ Programmierung', '6745', '66');

Führen Sie die folgende Auswahlabfrage aus, um die aktuellen Werte des Markierungen Tisch:

Aus Markierungen auswählen;

Ausgang:

Nach der Ausführung der obigen Einfügung wird die folgende Ausgabe angezeigt und auswählt Abfrage:

Wenn die folgende Abfrage für die Tabelle der ebenen Anzahl von Zeilen erneut ausgeführt wird, werden zwei Medianwerte generiert, die nicht korrekt sind:

WÄHLEN *
AUS (
Wählen Sie @row_index: = @row_index + 1 als row_index, erhalten_marks
Aus den Markierungen bestellen nach erhaltenen_marks) als Unterabfrage
Wo unterab.row_index in (floor (@row_index / 2), Ceil (@row_index / 2));

Ausgang:

Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. Das Ergebnis zeigt hier zwei Medianwerte. Der Durchschnitt dieser Werte ist der richtige Medianwert.

Führen Sie die folgende Auswahlabfrage aus, um die korrekten Medianwerte der Spalte erhaltenen_marks der Spalte der Markierungsmarke zu ermitteln, indem Sie die AVG () -Agregat -Funktion in die Abfrage verwenden. Hier werden zwei ausgewählte Abfragen verwendet. Die innere Auswahlabfrage wird verwendet, um den Medianwert zu ermitteln, der ein oder zwei Werte basierend auf der Gesamtzahl der Zeilen der Tabelle betragen kann. Die äußere Auswahlabfrage ermittelt den Durchschnittswert oder die Werte der erhalten_marks Die Spalte wurde von der inneren Auswahlabfrage zurückgegeben. Basierend auf dem Inhalt der Markierungen Tabelle, die Abfrage erzeugt den Durchschnitt von erhalten_marks Werte der 3. und 4. Reihen der Markierungen Tisch.

Wählen Sie AVG (Unterabfrage.erhalten _marks) als median_value
AUS (
Wählen Sie @row_index: = @row_index + 1 als row_index, erhalten_marks
Aus Markierungen
Bestellung durch erhaltene
) Als Unterabfrage
Wo unterab.row_index
In (floor (@row_index / 2), Ceil (@row_index / 2));

Ausgang:

Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. Der Durchschnitt von 75 und 78 beträgt (75+78)/2 oder 76.50:

Abschluss:

Die Möglichkeit zur Berechnung des Medianwerts der bestimmten Spalte der Tabelle, die eine ausgeführte oder ungerade Zahlen von Zeilen enthalten kann. Dieses Tutorial hilft dem Benutzer, den MySQL -Medianwert ordnungsgemäß zu verstehen. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in anderen Linux -Hinweisartikeln.