El empleo de funciones para la explotación de los campos numéricos y otras utilidades. Ejemplos prácticos.
Algunas de estas funciones son representadas en la tabla siguiente :
Función | Descripción |
---|---|
Sum(campo) | Calcula la suma de los registros del campo especificado |
Avg(Campo) | Calcula la media de los registros del campo especificado |
Count(*) | Nos proporciona el valor del numero de registros que han sido seleccionados |
Max(Campo) | Nos indica cual es el valor máximo del campo |
Min(Campo) | Nos indica cual es el valor mínimo del campo |
Dado que el campo de la función no existe en la base de datos, sino que lo estamos generando virtualmente, esto puede crear inconvenientes cuando estamos trabajando con nuestros scripts a la hora de tratar su valor y su nombre de campo. Es por ello que el valor de la función ha de ser recuperada a partir de un alias que nosotros especificaremos en la sentencia SQL a partir de la instrucción AS. La cosa podría quedar así:
Select Sum(total) As suma_pedidos From pedidos
A partir de esta sentencia calculamos la suma de los valores de todos los pedidos realizados y almacenamos ese valor en un campo virtual llamado suma_pedidos que podrá ser utilizado como cualquier otro campo por nuestras paginas dinámicas.
Por supuesto, todo lo visto hasta ahora puede ser aplicado en este tipo de funciones de modo que, por ejemplo, podemos establecer condiciones con la cláusula Where construyendo sentencias como esta:
Select Sum(cantidad) as suma_articulos From pedidos Where id_articulo=6
Esto nos proporcionaría la cantidad de ejemplares de un determinado libro que han sido vendidos.
Otra propiedad interesante de estas funciones es que permiten realizar operaciones con varios campos dentro de un mismo paréntesis:
Select Avg(total/cantidad) From pedidos
Esta sentencia da como resultado el precio medio al que se están vendiendo los libros. Este resultado no tiene por qué coincidir con el del precio medio de los libros presentes en el inventario, ya que, puede ser que la gente tenga tendencia a comprar los libros caros o los baratos:
Select Avg(precio) as precio_venta From articulos
Una cláusula interesante en el uso de funciones es Group By. Esta cláusula nos permite agrupar registros a los cuales vamos a aplicar la función. Podemos por ejemplo calcular el dinero gastado por cada cliente:
Select id_cliente, Sum(total) as suma_pedidos From pedidos Group By id_cliente
O saber el numero de pedidos que han realizado:
Select id_cliente, Count(*) as numero_pedidos From pedidos Group By id_cliente
Las posibilidades como vemos son numerosas y pueden resultar prácticas. Todo queda ahora a disposición de nuestras ocurrencias e imaginación.
Rubén Alvarez
Rubén es doctor en química y programador principalmente en sus ratos libres con...