Programación básica en php (calculos con mysql)


Lo que toca ahora sera la cuestión de elaborar estadísticas y totales a partir de los datos almacenados en la base de datos de mysql, pero para esto necesitare tener campos a través de los cuales pueda hacer cálculos, así que modificaremos la tabla agregando los campos sexo y sueldo, quedando de la siguiente forma:

Como sabemos todo el trabajo esta basado en la consultas en el lenguaje SQL, así que antes de elaborar cualquier modulo que genere estadísticas,  tenemos que saber como obtenerlas, razón por la que este post esta dedicado a las funciones matemáticas que podemos usar en las consultas.

Las funciones que vamos a ver se pueden aplicar de dos formas:

  • Con la clausula select: lo que hace que los cálculos se realicen sobre toda la tabla o sobre los registros que coincidan con la clausula where
  • Con la clausula group by: no se omite el uso de la clausula select, pero al usar group by los cálculos se realizan por grupos de datos, es decir, se crean grupos de acuerdo a los valores que existen en un campo y los cálculos se realizan por grupo.
En el primer caso se obtiene un resultado del conjunto de datos y en el segundo caso se obtienen varios resultados, uno por cada grupo de datos, lo cual modifica el tratamiento del resultado en php, pero eso es tema del próximo post.
veamos las funciones.
AVG
Se usa para calcular el promedio de un campo, por ejemplo si quisiera saber el promedio de sueldos de los empleados de la empresa usaría:
select avg(sueldo) from personal.
Si quisiera saber el promedio de sueldo por sexo usaría la clausula group by de la siguiente forma
select avg(sueldo) from personal group by sexo
El resultado de esta consulta seria el promedio de sueldo de los hombres y el promedio de sueldo de las mujeres, también se puede hacer uso de la clausula where para obtener resultados mas especificos, como por ejemplo, al buscar el promedio por sexo, pero solo de los que fueron contradados del 1 de enero del presenta año a la fecha, que para dicho caso quedaria:
select avg(sueldo) from personal where fecha>=”1/01/11″ group by sexo
COUNT
Esta función nos permite saber el numero de registros cuyo valor no sea nulo, es decir, solo cuenta los registros que tengan datos. Veamos algunos ejemplos:
Contar el numero total de empleados de la empresa
select count(clave) from presonal
Contar el numero de hombres y mujeres en la empresa
select count(clave) from personal group by sexo
MIN
Esta función obtiene el valor mínimo de un campo, por ejemplo:
Encontrar el sueldo mas bajo de la empresa
select min(sueldo) from personal
MAX
Esta función devuelve el valor máximo en un campo, por ejemplo:
Encontrar el salario mas alto de cada sexo
select max(sueldo) from personal group by sexo.
SUM
Obtiene la suma de valores de un campo, como en los siguientes ejemplos
Obtener la suma de los sueldos de todos los empleados
select sum(sueldo) from personal
Obtener la suma de sueldos del personal, separado por sexo:
select sexo, sum(sueldo) from personal group by sexo
Estas serian las funciones mas usuales, pero si necesitamos mas información estadística, también disponemos de las siguientes:
  • STD( campo), calcula la desviación estándar
  • VAR_POP (campo), calcula la varianza

Bien, en el siguiente post veremos como usarlas para obtener información de la tabla y generar graficas

Anuncios

Acerca de sistemasumma

Blog dedicado a la tecnología y a todos los estudiantes de sistemas, informatica, computación y afines
Esta entrada fue publicada en programacion y etiquetada , , , . Guarda el enlace permanente.

Una respuesta a Programación básica en php (calculos con mysql)

  1. jsequeiros dijo:

    Funciones de agregado

    Me gusta

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s