SQL

¿Cómo obtener la cantidad de registros en SQL Server con la función COUNT()?

Estrada Web Group
Administrador
¿Cómo obtener la cantidad de registros en SQL Server con la función COUNT()?

En este tutorial, aprenderás a usar la función COUNT() de SQL Server para obtener la cantidad de elementos en un conjunto.

COUNT() es una función agregada de SQL Server que devuelve el número de elementos encontrados en un conjunto.

A continuación, se muestra la sintaxis de la función COUNT():

COUNT([ALL | DISTINCT] expression)

En esta sintaxis:

  • ALL indica a la función COUNT() que se aplique a todos los valores. ALL es el valor predeterminado.
  • DISTINCT indica a la función COUNT() que devuelva el número de valores únicos no nulos.
  • expresión es una expresión de cualquier tipo excepto imagen, texto o ntext. Ten en cuenta que no puedes usar una subconsulta o una función agregada en la expresión.

La función COUNT() también se usa de la siguiente manera:

COUNT(*)

Usando esta sintaxis, COUNT(*) devuelve el número de filas en una tabla específica. COUNT(*) no admite DISTINCT y no toma parámetros. Cuenta cada fila por separado e incluye filas que contienen valores NULL.

En resumen:

  • COUNT(*) cuenta el número de elementos en un conjunto. Incluye valores NULL y duplicados.
  • COUNT(ALL expression) evalúa la expresión para cada fila de un conjunto y devuelve el número de valores no nulos.
  • COUNT(DISTINCT expression) evalúa la expresión para cada fila de un conjunto y devuelve el número de valores únicos no nulos.

Ejemplos de la función COUNT() de SQL Server

El siguiente código crea una nueva tabla llamada t con la instrucción CREATE TABLE, después inserta algunos datos en la tabla con la instrucción INSERT INTO y consulta datos en ella utilizando SELECT:

CREATE TABLE t(val INT);
INSERT INTO t(val)VALUES(1),(2),(2),(3),(null),(null),(4),(5);
SELECT val FROM t;

Resultado:

val
-------------
1
2
2
3
NULL
NULL
4
5

Ejemplo de la función COUNT(*) de SQL Server

COUNT(*) devuelve todas las filas en una tabla específica como se ilustra en la siguiente declaración:

SELECT COUNT(*) val_count FROM t;

Resultado

val_count
------------------
8
(1 row affected)


Ejemplo de la función COUNT(DISTINCT expression) de SQL Server

El siguiente ejemplo usa COUNT(DISTINCT expression) para devolver el número de valores únicos no nulos en la tabla t:

SELECT COUNT(DISTINCT val) val_count
FROM t;

Resultado:

val_count
-----------
5
Warning: Null value is eliminated by an aggregate or other SET operation.
(1 row affected)

Ejemplo de la función COUNT(expression) de SQL Server

El siguiente ejemplo usa COUNT(expression) para devolver el número de valores no nulos en la tabla t:

SELECT COUNT(val) FROM t;

Resultado:

val_count
-----------
6
Warning: Null value is eliminated by an aggregate or other SET operation.
(1 row affected)

Función COUNT() de SQL Server: ejemplos prácticos

La siguiente declaración devuelve el número de productos en la tabla de productos de la base de datos de prueba:

SELECT COUNT(*) product_count
FROM production.products;

Resultado:

product_count
-------------
321
(1 row affected)

El siguiente ejemplo utiliza la función COUNT(*) para encontrar la cantidad de productos cuyo año de modelo es 2016 y el precio de lista es superior a 999.99:

SELECT COUNT(*)
FROM production.products
WHERE model_year = 2016 AND list_price > 999.99;

Resultado:

Result
-----------
7
(1 row affected)

Función COUNT() de SQL Server usando la cláusula GROUP BY

La siguiente declaración utiliza la función COUNT(*) para encontrar el número de productos en cada categoría de producto:

SELECT category_name, COUNT(*) product_count
FROM production.products p
INNER JOIN production.categories c ON c.category_id = p.category_id
GROUP BY category_name
ORDER BY product_count DESC;

Resultado:

category_name        product_count
-----------------    -------------
Cruisers Bicycles          78
Mountain Bikes             60
Road Bikes                 60
Children Bicycles          59
Comfort Bicycles           30
Electric Bikes             24
Cyclocross Bicycles        10
(7 rows affected)

En este ejemplo, primero, la cláusula GROUP BY dividió los productos en grupos usando el nombre de la categoría y luego la función COUNT() se aplica a cada grupo.

SQL Server COUNT() con ejemplo de cláusula HAVING

La siguiente declaración devuelve la marca y la cantidad de productos para cada uno. Pero solo devuelve las marcas que tienen una cantidad de productos superior a 20:

SELECT brand_name, COUNT(*) product_count
FROM production.products p
INNER JOIN production.brands c ON c.brand_id = p.brand_id
GROUP BY brand_name
HAVING COUNT(*) > 20
ORDER BY  product_count DESC;

Resultado:

brand_name           product_count
---------------      -------------
Trek                       135
Electra                    118
Surly                      25
Sun Bicycles               23
(4 rows affected)

En este tutorial, has aprendido a usar la función COUNT() de SQL Server para encontrar la cantidad de elementos en un conjunto.

Compartir artículo:

Más artículos geniales

¿Qué son las sentencias INNER JOIN de SQL y cómo funciona?

¿Qué son las sentencias INNER JOIN de SQL y cómo funciona?

En este tutorial, aprenderás a usar la cláusula o sentencia INNER JOIN de SQL Server para realizar consultar datos en varias tablas.

Ver artículo completo
Cómo limitar el número de resultados en una consulta SQL con la instrucción SELECT TOP

Cómo limitar el número de resultados en una consulta SQL con la instrucción SELECT TOP

En este tutorial, aprenderá a usar la instrucción SELECT TOP SQL Server para limitar las filas o registros devueltas por una consulta.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;