SQL COUNT: Función Contar

La función SQL COUNT es una de las funciones agregadas que cuenta el número total de filas (registros) seleccionadas por la instrucción SELECT

Por ejemplo, si necesita obtener la cantidad total de productos en su tienda. O desea localizar los productos de color Negro presentes en su Tienda. En estas situaciones, puede usar esta función SQL COUNT, y la sintaxis básica de la misma es la que se muestra a continuación:

Sintaxis Función SQL Count

Para averiguar el número total de filas en una tabla, simplemente realice la siguiente consulta SQL:

SELECT COUNT(*) 
FROM tabla

También es posible saber el número de registros en una columna en particular. No se contarán los registros que tengan el valor nulo. La sintaxis para contar los registros en la columna «nom_columna» es la siguiente:

SELECT COUNT(nom_columna) 
FROM tabla

Finalmente, también es posible contar el número de registros distintos para una columna. La función no contará duplicados para una columna elegida. La sintaxis para contar el número de valores distintos para la columna «nom_columna» es la siguiente:

SELECT COUNT(DISTINCT nom_columna) 
FROM tabla

A saber: en general, en términos de rendimiento, es bastante recomendable filtrar las filas con GROUP BY si es posible, y luego realizar un COUNT (*).

Ejemplo sql count (*)

SQL COUNT * devuelve el número de registros de la tabla. Veamos un ejemplo para entender mejor esta Función Agregada

SELECT COUNT(*) as Total_Pedido
FROM Pedidos

La consulta anterior encuentra el total de registros presentes en la tabla Pedidos

sql count

NOTA: El COUNT (*) suma valores NULOS y registros duplicados también. Y el (Nombre de la columna) considera y agrega los registros duplicados.

Ejemplo de SQL COUNT con (nombre de columna) de SQL Server

Devuelve el número total de Pedidos presentes en la tabla cuyos valores NO son NULOS (Ignora los Registros NULOS). Veamos un ejemplo de esta función.

SELECT count (ClienteID) as Total_Pedido
FROM Pedidos

sql count con nombre

Obtuvimos el mismo resultado que la consulta SQL COUNT (*). Porque no hay valores NULL en la columna [CLIENTEID]. 

Usando COUNT con (columna DISTINCT)

El uso de la cláusula DISTINCT puede permitir conocer el número de ciudades distintas en las que se distribuyen los visitantes. La consulta seria:

SELECT COUNT(DISTINCT ciudad) 
FROM cliente

Sabiendo que hay 4 ciudades distintas (cf. París, Marsella, Lyon y Nantes), el resultado se ve así:

CONTAR(Ciudad DISTINTA)
4

Uso de la cláusula Group By con Count

Para explicar la cláusula group by con la función COUNT, estoy usando la tabla Empleados, que almacena los salarios pagados a cada empleado cada mes (solo para la demostración).

Al usar la cláusula Group by con la función Count, obtendremos el número de veces que se paga el salario a cada empleado. La consulta y el resultado se muestran a continuación:

SELECT Nombre, COUNT(*) AS Resultados
FROM Empleados
GROUP BY Nombre;

Resumen

  • COUNT( * )- Esto cuenta todas las filas en el conjunto de resultados. A esta variación no le importa el contenido de las filas individuales, solo que existen.
  • COUNT (columna)- Esto cuenta el número de no – NULL de valores que aparecen en la columna dada dentro del conjunto de resultados.
  • COUNT (DISTINCT columna)- Esto cuenta el número de no valores únicos NULL que aparecen en la columna dada dentro del conjunto de resultados 
  • COUNT (expresión)- Esto evalúa la expresión dada para cada fila dentro del conjunto de resultados o GROUP BY; y cuenta el número de filas en las que la expresión se evalúa como un no NULL resultado. Esta variación es súper flexible y puede incluir casi cualquier cosa que desee en la «expresión».

La siguiente tabla ilustra todas las formas de la COUNT()función:

Función CONTAR()Contar duplicadosContar valores NULOS
COUNT(*)SiSi
COUNT(DISTINCT column)NoNo
COUNT(ALL column)SiNo

Deja un comentario