Las funciones COUNT, AVG y SUM de SQL son las principales función aritmeticas para agrupar registros ademas de analisis de datos dentro de nuestros reportes con valores resumidos por una consulta.
Debirias ver los ejemplos de select count o select avg() para que entiendas el valor que tienen estas funciones. Te recomendamos veas la clausula group by y having para mas detalles.
Deberias ver estas funciones que te pueden ser utiles en Postgresql, MySql o Sql Server
Operador Distinct de sql count , avg y SUM
para todas la funciones aritmticas podemos usar el operador distinct para:
- Suma solamente los valores que son distintos con la funcion sum
- Contar valores distintos con la funcion count
- DISTINCT indica a la función AVG() que solo calcule el promedio considerando solo valores únicos dentro de la tabla.
Para ver mas ejemplos del operador distinct ver como eliminar registros duplicados con distinct o existen un listado de tecnicas de eliminar registros duplicados que debes conocer
Ejemplos de la función Count
La función SQL COUNT () devuelve la cantidad de registros que coinciden con un criterio especificado en una tabla.
Sintaxis count
SELECT COUNT(expression)
FROM table-name
Sintaxis conjunto count
SELECT Columnanombre,Sum(expression)
FROM table-name
group by columnanombre
Ejemplos con Count
El siguiente ejemplo cuenta todos los registros de la tabla sin distincion
SELECT COUNT(*) AS Count
FROM clientes
Es posible que busque usar count distinct para solo consultar las ciudades unicas dentro del catalogo de clientes para eso usariamos el siguiente ejemplo
SELECT COUNT(distinct ciudad) AS Count
FROM clientes
Si quisieramos consultar agrupando por cantidad de clientes con ciudad usariamos
SELECT Ciudad, COUNT(*) AS Count
FROM clientes
group by Ciudad
Función Avg para Sql Server o MySql
La función SQL AVG () devuelve el valor promedio de una columna de numero esto puede ser utilizado para sacar el promedio de lo facturado en un mes dentro de la tabla pedidos de tu sistema de facturacion.
Sintaxis Avg
SELECT COUNT(expression)
FROM table-name
Sintaxis conjunto columnas Avg
SELECT Columnanombre,Sum(expression)
FROM table-name
group by columnanombre
Ejemplos filas agrupadas con Avg
El siguiente ejemplo promedia el total de los pedidos de la tabla sin distincion
SELECT AVG(Totalpedido) AS Count
FROM clientes
Es posible que busque usar Avg distinct para solo consultar promediar valores unicos como el promedio de las ventas dentro del catalogo de pedidos para eso usariamos el siguiente ejemplo
SELECT AVG(distinct Totalpedido) AS Count
FROM Pedidos
Si quisieramos consultar agrupando por clientes cuela es el promedio de venta de cada caso.
SELECT clienteid, AVG(Totalpedido) AS Count
FROM Pedidos
group by clienteid
Como usar Sum() para Sql Server o MySql
La función SQL sum() devuelve el toal de una columna de numero esto puede ser utilizado para sacar el total de lo facturado en un mes dentro de la tabla pedidos de tu sistema de facturacion. al igual que la funcion avg la misma se utiliza en columnas de valor numerico,
Sintaxis Sum
SELECT Sum(expression)
FROM table-name
Sintaxis de conjunto
SELECT Columnanombre,Sum(expression)
FROM table-name
group by columnanombre
Ejemplos Con sum sql
El siguiente ejemplo sumar todos los precios todos los dentro del catalogo de precio de productos
SELECT Sum(precio) AS totalpedido
FROM productos
Es posible que busque usar Sum distinct para solo Sumar los valores unicos dentro del catalogo de precio de productos para eso usariamos el siguiente ejemplo
SELECT Sum(distinct precio) AS Count
FROM productos
Si quisieramos consultar agrupando por categoria el precio de los productos dentro del catalogo de precio de productos para eso usariamos el siguiente ejemplo
SELECT categoria, Sum(precio) AS Count
FROM productos
group by categoria
Para filtrar los valores que agrupados necesitamos utilizar Having tomando en cuenta que debemos entender las diferencias entre Where y Having en sql ademas te recomendamos los ejemplos de MIN Y MAX las cuales son otras funciones aritmeticas de mucha utilidad.
En conclusion, para las funciones sum o avg los datos para calcular la informacion deben ser valores numericos mientras que para la función count es indistinto el tipo de datos. Si queremos hacer calculo de valores distintos deberias tomar en cuenta e uso de Distinct.
Ahora cuentanos que tal te parecio el articulo!!
Hasta la proxima!!