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:
Ejemplo SQL: Contar filas con COUNT(*)
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:
Ejemplo SQL: Contar valores no nulos en una columna
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:
Ejemplo SQL: Contar valores únicos en una columna
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
Ejemplo SQL: Contar todos los pedidos en la tabla
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.
Ejemplo SQL: Contar pedidos por ClienteID
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:
Ejemplo SQL: Contar ciudades únicas en clientes
SELECT COUNT(DISTINCT ciudad) AS Total_Ciudades
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:
Ejemplo SQL: Contar empleados por nombre
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 ilustra todas las formas de la sql COUNT()función:
Ejemplo SQL: Diferentes formas de COUNT
-- Contar todas las filas
SELECT COUNT(*) AS Total_Filas
FROM Empleados;
-- Contar valores distintos
SELECT COUNT(DISTINCT Pais) AS Total_Paises
FROM Clientes;
-- Contar todos los valores no nulos (ALL es implícito)
SELECT COUNT(ALL Salario) AS Total_Salarios
FROM Empleados;



