Du kan beregne medianen med GROUP BY i MySQL, selvom der ikke er nogen medianfunktion indbygget.
Overvej tabellen:
Acrington 200.00Acrington 200.00Acrington 300.00Acrington 400.00Bulingdon 200.00Bulingdon 300.00Bulingdon 400.00Bulingdon 500.00Cardington 100.00Cardington 100.00Cardington .00.00Cardington .00Cardington 100.00Cardington .001Cardington
For hver række kan du tælle antallet af lignende varer, der er færre. Du kan også tælle, hvor mange værdier der er mindre end eller lig med:
Navn v <5
Med forespørgsel
VÆLG navn,v, (VÆLG ANTAL(1) FRA salg WHERE v
Medianværdien opstår, når antallet af mindre end eller lig er halvdelen af antallet af varer
-
Acrington har 4 genstande. Halvdelen af dette er 2, som er i intervallet 0..2 (svarende til 200.00) og også i intervallet 2..3 (svarende til 300.00)
-
Bullingdon har også 4 stk. 2 er i intervallet 1..2 (værdi 300,00) og 2..3 (værdi 400,00)
-
Cardington har 5 genstande. Værdien 2,5 er mellem 2 og 3, hvilket svarer til Cardington 151.
Medianværdien er middelværdien af min- og maksværdierne returneret af:
SELECT cs.name,v FROM (SELECT name,v, (SELECT COUNT(1) FROM sale WHERE v
Hvilket giver:
Acrington 200.00Acrington 200.00Acrington 300.00Bulingdon 300.00Bulingdon 400.00Cardington 151.00
Endelig kan vi få medianen:
VÆLG navn,(MAX(v)+MIN(v))/2 FROM(SELECT cs.name,v FROM (SELECT name,v, (SELECT COUNT(1) FROM sale WHERE v
Giver
Acrington 250.000000Bulingdon 350.000000Cardington 151.000000