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
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
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 duplicados | Contar valores NULOS |
---|---|---|
COUNT(*) | Si | Si |
COUNT(DISTINCT column) | No | No |
COUNT(ALL column) | Si | No |