Forutsetninger:
Du må opprette en tabell med data i en MySQL -database for å finne medianverdien til tabelldataene. Åpne terminalen og koble til MySQL -serveren ved å utføre følgende kommando:
$ sudo mysql -u root
Kjør følgende kommando for å opprette en database som heter test_db:
Opprette databasetest_db;Kjør følgende kommando for å velge databasen:
Bruk test_db;Kjør følgende spørsmål for å opprette en tabell som heter merker med fem felt:
Lag tabellmerker (Kjør følgende sett inn spørring for å sette inn fem verdier i merker bord:
Sett inn 'Marks' ('Id', 'Course_Code', 'Course_Name', 'STD_ID', 'oppnådd_merker') verdierKjør SELECT -spørringen for å lese verdiene til merker bord:
Velg * fra merker;De oppnådd_merker felt av merker Tabellen inneholder de numeriske verdiene, og medianverdien til denne kolonnen er blitt søkt i neste del av denne opplæringen:
For å finne ut medianverdien i MySQL, vil et indeksnummer kreve festing til hver rad i tabellen. Følgende SET -kommando vil initialisere @Row_Index -variabelen med verdien -1 fordi indeksen for posten vil telles fra 0:
Sett @row_index: = -1;Registreringene av tabellen vil kreve å sortere basert på verdiene til Fields -verdiene for å finne ut medianverdien til denne kolonnen. Så kjør følgende spørring for å sortere tabellen basert på feltet oppnådd_mark og fest indeksverdien med hver rad:
Velg @Row_Index: = @ROW_INDEX + 1 som ROW_INDEX, oppnådd_merkerProduksjon:
Følgende utgang vises etter å ha utført de tidligere kommandoene. Etter sortering vil den første indeksen inneholde den laveste verdien av kolonnen oppnådd_marks, og den siste indeksen vil ha den høyeste verdien av Kolonnen for oppnådd_marks:
Det totale antallet poster i tabellen merker er 5, noe som er rart. Så medianverdien til den oppnådde kolonnen oppnådd_mark vil finne ut av følgende valgte spørring. Den siste verdien av radindeksen er 4, i henhold til utdataene fra forrige spørring. Både gulv og takverdier for 4/2 er 2. Den tilsvarende oppnådde_marksverdien til radindeksen 2 er 78.
PLUKKE UT *Produksjon:
Følgende utgang vises etter å ha utført forrige spørring:
Den neste delen av denne opplæringen viser å finne medianverdien for et jevnt antall poster. Kjør følgende innsettingsspørsmål for å legge til en annen post til merker Tabell for å lage det totale antallet poster over tabellen til 6 som er jevn:
Sett inn 'Marks' ('Id', 'Course_Code', 'Course_Name', 'STD_ID', 'ACCEEDED_MARKS') VERDIER (NULL, 'C-1122', 'C ++ programmering', '6745', '66');Kjør følgende velger spørring for å lese gjeldende verdier for merker bord:
Velg * fra merker;Produksjon:
Følgende utgang vises etter å ha utført ovennevnte innsats og velger spørring:
Hvis følgende spørring blir utført igjen for tabellen med enda antall rader, vil to medianverdier bli generert som ikke er riktig:
PLUKKE UT *Produksjon:
Følgende utdata vises etter å ha utført forrige spørring. Resultatet viser to medianverdier her. Gjennomsnittet av disse verdiene vil være riktig medianverdi.
Kjør følgende velg spørring for å finne ut de riktige medianverdiene i den oppnådde_marks -kolonnen i Marks -tabellen ved å bruke AVG () Aggregate -funksjonen i spørringen. Her brukes to utvalgte spørsmål. Den indre utvalgte spørringen brukes til å finne ut medianverdien som kan være en eller to verdier basert på det totale antallet rader i tabellen. Det ytre utvalgte spørringen vil finne ut gjennomsnittsverdien eller verdiene til oppnådd_merker Kolonnen returnert av den indre utvalgte spørringen. Basert på innholdet i merker tabell, spørringen vil generere gjennomsnittet av oppnådd_merker verdier av 3. og fjerde rad av merker bord.
Velg AVG (subQuery.oppnådd_merker) som median_valueProduksjon:
Følgende utdata vises etter å ha utført forrige spørring. Gjennomsnittet av 75 og 78 er (75+78)/2 eller 76.50:
Konklusjon:
Måten å beregne medianverdien til den aktuelle kolonnen i tabellen som kan inneholde jevnt antall rader er vist i denne opplæringen ved å bruke SELECT -spørringen. Denne opplæringen vil hjelpe brukeren til å forstå MySQL -medianverdien riktig. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og opplæringsprogrammer.