Translate

lunes, 18 de noviembre de 2019

Como calcular la mediana en SQL


La mediana es una médida de tendencia central que nos va a ayudar a abrir los ojos cuando nos encontremos con datos que puedan estar sesgado. Es como una media aritmética mejorada para casos en los que los datos no parezcan una montannita.

Así que antes de ponerte a calcular la media de algo, deberías visualizar que forma tienen estos datos.  Si ya has decidido que la media no te sirve o simplemente quieres comparar la media y la mediana y no sabes como calcular esta última
     
Primero, la parte fácil.

Como calcular la media de una columna en SQL

AVG(columna)

Ejemplo

SELECT AVG(columna) FROM tabla

Como calcular la mediana de una columna usando SQL

Aquí la cosa ya se complica un poco más. Así que tenemos que tirar de definición de mediana.
percentile_disc(0.5) WITHIN GROUP (ORDER BY columna) AS mediana
Vamos a desmenuzar que es lo que estamos haciendo:

La mediana es el igual al percentil 50, es decir lo que queda justo en la mitad de todos nuestros datos. Esto ya explica el percentile_disc y el (0.5)

Otra cosa que tenemos que tener en cuenta es que para calcular la mediana necesitamos tener ordenados nuestros datos por ellos vamos a usar el ORDER BY.

Finalmente, queremos renombrar la columna como mediana. Así que AS mediana

Ejemplo práctico con media y mediana eb una sentencia SQL

SELECT categoria,
      avg(precio) AS media,
       percentile_disc(0.5) WITHIN GROUP (ORDER BY precio) AS mediana
  FROM producto
 GROUP BY categoria
 ORDER BY avg(precio);

No hay comentarios :

Publicar un comentario