Mediana wartości Mysql

Mediana wartości Mysql
Środkowa wartość zestawu danych nazywa się wartością mediany zgodnie ze statystykami. Wartość mediany będzie środkową liczbą listy zawierającej nieparzyste elementy. Wartość mediany zostanie obliczona przez znalezienie średniej dwóch średnich liczb listy, jeśli całkowite elementy listy są równe. Konieczne jest uporządkowanie listy w kolejności rosnącej, aby znaleźć wartość mediany. W MySQL nie ma wbudowanej funkcji, aby znaleźć wartość mediany. Wartość mediany jest obliczana w MySQL podczas pisania zapytania. Sposób na znalezienie wartości mediany w MySQL został pokazany w tym samouczku za pomocą tabeli.

Wymagania wstępne:

Musisz utworzyć tabelę z danymi w bazie danych MySQL, aby znaleźć medianę wartości danych tabeli. Otwórz terminal i połącz się z serwerem MySQL, wykonując następujące polecenie:

$ sudo mysql -u root

Uruchom następujące polecenie, aby utworzyć nazwaną bazę danych test_db:

Utwórz bazę danych test_db;

Uruchom następujące polecenie, aby wybrać bazę danych:

Użyj test_db;

Uruchom następujące zapytanie, aby utworzyć tabelę o nazwie znaki z pięcioma dziedzinami:

Utwórz znaki stołowe (
ID Int Auto_increment Key podstawowy,
kurs_code varchar (10) nie null,
kurs_name varchar (30),
std_id varchar (20),
uzyskane_marks int);

Uruchom następujące zapytanie wstaw, aby wstawić pięć wartości do znaki tabela:

Wstaw do „Marks” („ID”, „kurs_code”, „kurs_name”, „std_id”, „uzyskane_marks”) wartości)
(NULL, „C-4533”, „Java Programming”, „2312”, „90”),
(NULL, „C-7845”, „PHP Programming”, „9564”, „78”),
(NULL, „C-3009”, „Web Design”, „9076”, „65”),
(NULL, „C-4511”, „Python Programming”, „8923”, „75”),
(NULL, „C-7645”, „Bash Programming”, „1289”, „81”);

Uruchom zapytanie Wybierz, aby odczytać wartości znaki tabela:

Wybierz * ze znaków;

uzyskane_marks pole znaki Tabela zawiera wartości liczbowe, a mediana wartości tej kolumny została przeszukana w następnej części tego samouczka:

Aby znaleźć wartość mediany w MySQL, numer indeksu będzie wymagał dołączenia do każdego wiersza tabeli. Poniższe polecenie zestawu zainicjuje zmienną @Row_Index z wartością -1, ponieważ indeks rekordu zostanie policzony od 0:

Set @row_index: = -1;

Zapisy tabeli będą wymagały sortowania na podstawie wartości pola uzyskanych_marks, aby znaleźć medianę wartości tej kolumny. Więc uruchom następujące zapytanie, aby sortować tabelę na podstawie pola uzyskanych_marks i dołącz wartość indeksu z każdym wierszem:

Wybierz @Row_Index: = @row_index + 1 jako row_index, uzyskane_marks
Ze znaków
Zamówić według uzyskanych_marks;

Wyjście:

Po wykonaniu poprzednich poleceń pojawi się następujące dane wyjściowe. Po sortowaniu pierwszy indeks będzie zawierał najniższą wartość uzyskanych_marków, a ostatni indeks będzie miał najwyższą wartość uzyskanych kolumny_marks:

Całkowita liczba rekordów w tabeli znaków wynosi 5, co jest dziwne. Tak więc mediana wartości uzyskanych_marks dowie się według następującego zapytania wyboru. Ostatnia wartość indeksu wiersza wynosi 4, zgodnie z wyjściem poprzedniego zapytania. Zarówno wartości podłogowe, jak i sułoniowe 4/2 to 2. Odpowiednia uzyskana Wartość_znaki indeksu wiersza 2 wynosi 78.

WYBIERAĆ *
Z (
Wybierz @Row_Index: = @row_index + 1 jako row_index, uzyskane_marks
Z Zakonu Znaki według uzyskanych_marks) jako rozdzielczy
Gdzie stały się.row_index in (floor (@Row_Index / 2), Ceil (@Row_Index / 2));

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego zapytania:

Kolejna część tego samouczka pokazuje znalezienie wartości mediany dla parzystej liczby rekordów. Uruchom następujące zapytanie Wstaw, aby dodać kolejny rekord do znaki Tabela, aby dokonać całkowitej liczby rekordów tabeli do 6, co jest nawet:

Wstaw do „Marks” („ID”, „kurs_code”, „kurs_name”, „std_id”, „uzyskany_marks”) wartości (null, „c-1122”, „programowanie C ++”, „6745”, „66”);

Uruchom następujące zapytanie Wybierz, aby odczytać bieżące wartości znaki tabela:

Wybierz * ze znaków;

Wyjście:

Po wykonaniu powyższej wkładki pojawi się następujące dane wyjściowe: Wybierz zapytanie:

Jeśli następujące zapytanie zostanie wykonane ponownie dla tabeli parzystej liczby wierszy, wygenerowane zostaną dwie wartości mediany, które są nieprawidłowe:

WYBIERAĆ *
Z (
Wybierz @Row_Index: = @row_index + 1 jako row_index, uzyskane_marks
Z Zakonu Znaki według uzyskanych_marks) jako rozdzielczy
Gdzie stały się.row_index in (floor (@Row_Index / 2), Ceil (@Row_Index / 2));

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego zapytania. Wynik pokazuje tutaj dwie wartości mediany. Średnia z tych wartości będzie właściwą wartością mediany.

Uruchom następujące zapytanie Wybierz, aby znaleźć prawidłowe wartości mediany kolumny Otched_Marks tabeli znaków za pomocą funkcji agregatu AVG () w zapytaniu. Tutaj używane są dwa wybrane zapytania. Wewnętrzne zapytanie wyboru służy do znalezienia wartości mediany, która może być jedną lub dwiema wartościami na podstawie całkowitej liczby wierszy tabeli. Zewnętrzne zapytanie do wyboru dowie się średniej wartości lub wartości uzyskane_marks Kolumna zwrócona przez wewnętrzne zapytanie. Na podstawie treści znaki Tabela, zapytanie wygeneruje średnią uzyskane_marks Wartości 3 i 4. rzędów znaki tabela.

Wybierz AVG (subkery.uzyskane_marks) jako Median_value
Z (
Wybierz @Row_Index: = @row_index + 1 jako row_index, uzyskane_marks
Ze znaków
Zamów przez uzyskane_marks
) Jako subkaperia
Gdzie stały się.row_index
In (floor (@Row_Index / 2), Ceil (@Row_Index / 2));

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego zapytania. Średnia 75 i 78 to (75+78)/2 lub 76.50:

Wniosek:

Sposób obliczenia wartości mediany konkretnej kolumny tabeli, która może zawierać równe lub nieparzyste liczby wierszy, został pokazany w tym samouczku za pomocą zapytania Select. Ten samouczek pomoże użytkownikowi poprawnie zrozumieć wartość mediany MySQL. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i samouczków.