Selección de tablas IV

01 de enero de 2001
Valoración del artículo:
El empleo de funciones para la explotación de los campos numéricos y otras utilidades. Ejemplos prácticos.
Además de los criterios hasta ahora explicados para realizar las consultas en tablas, SQL permite también aplicar un conjunto de funciones predefinidas. Estas funciones, aunque básicas, pueden ayudarnos en algunos momentos a expresar nuestra selección de una manera más simple sin tener que recurrir a operaciones adicionales por parte del script que estemos ejecutando.

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.

Nota: En una de nuestras FAQ se dan otros ejemplos de trabajo con funciones en selecciones SQL. Seleccionar una parte de una cadena en SQL. En general, en las FAQ podemos encontrar respuestas a otras preguntas habituales.

Compartir en redes sociales

Comentarios
Fueron enviados 7 comentarios al artículo
6 comentarios no revisados
1 comentario revisado:
Por: Pablo
29/5/2003
1)En estos ejemplos estan incorporando el campo Total y en los ejemplos de tabla no aparecen.
2) mas arriba pones de ejemplo la cantidad de pedidos realizados cuando tenes que poner la cantidad de pedidos realizados por cliente

Manuales relacionados
Categorias relacionadas
El autor
Rubén Alvarez
Redactor de DesarrolloWeb.com
http://www.desarrolloweb.com


Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...