Saltar al contenido principal
InicioTutorialesSQL

FUNCIÓN SQL COUNT()

COUNT() te permite contar el número de filas que cumplen determinadas condiciones. Aprende a utilizarlo en este tutorial.
Actualizado abr 2024  · 3 min leer

¿Qué es la función COUNT() ?

La función COUNT() devuelve el número de filas que coinciden con un criterio.

COUNT() y su sintaxis

La sintaxis básica de COUNT() es la siguiente.

SELECT COUNT(column_name)
FROM table_name;

Las variaciones de la sintaxis consiguen objetivos diferentes.

  • La sintaxis de COUNT(*) nos permite contar el número de filas de una tabla
  • La sintaxis de COUNT(DISTINCT column) nos permite contar el número de valores distintos de una columna 
  • La sintaxis de COUNT(CASE WHEN condition THEN column END) nos permite contar el número de valores que cumplen condiciones.

COUNT(), utilizado con GROUP BY, es útil para contar el número de filas que pertenecen a cada grupo.

COUNT(), utilizado con HAVING, es útil para filtrar grupos según el número de filas que tengan.

Los ilustraremos con los ejemplos siguientes.

COUNT() , ejemplos

Ejemplo 1: contar el número de filas con COUNT(*)

La tabla llamada productos contiene todos los productos que vende una empresa. La cláusula COUNT(*) nos permite calcular el número de filas de la tabla. 

SELECT
    COUNT(*) AS number_of_rows
FROM products

number_of_rows

321

Ejemplo 2: contar valores únicos con COUNT(DISTINCT …)

La sintaxis de COUNT(DISTINCT column) nos permite contar el número de valores únicos de una columna.

Por ejemplo, cada producto tiene una marca asociada en la tabla products. Podemos contar el número de productos y marcas únicos en la tabla.

SELECT
    COUNT(DISTINCT product_id) AS unique_product_count,
    COUNT(DISTINCT brand_id) AS unique_brand_count
FROM products

unique_product_count

unique_brand_count

321

9

Ejemplo 3: contar las filas que cumplen una condición mediante COUNT() con CASE WHEN 

La sintaxis de COUNT(CASE WHEN condition THEN column END) nos permite calcular el número de filas que cumplen una condición.

Por ejemplo, en la tabla de productos, cada producto tiene un list_price. Podemos calcular cuántos productos son "expensive" (tienen un precio de catálogo superior a 500 $) o no.

SELECT
    COUNT(CASE WHEN list_price >= 500 THEN product_id END) AS expensive_product_count,
   COUNT(CASE WHEN list_price < 500 THEN product_id END) AS cheap_product_count
FROM products

expensive_product_count

cheap_product_count

213

108

Ejemplo 4: contar filas en grupos utilizando COUNT() con GROUP BY

COUNT() puede utilizarse con GROUP BY para averiguar el número de filas de cada grupo.

Por ejemplo, la tabla de productos contiene modelos de bicicleta de 2016 a 2019. Para hallar la distribución de la bicicleta, podemos utilizar COUNT(product_id) y GROUP BY model_year para contar el número de productos de cada año. 

SELECT
    model_year,
    COUNT(product_id) AS product_count
FROM products
GROUP BY model_year

model_year

product_count

2016

26

2017

85

2018

204

2019

6

Ejemplo 5: filtrar por grupos utilizando COUNT() con GROUP BY y HAVING

En el ejemplo 4, vemos que COUNT() puede utilizarse con GROUP BY. Podemos utilizar la declaración HAVING para filtrar por grupos utilizando el número de filas de ese grupo.

Por ejemplo, para hallar el número de años que tienen menos de 50 productos, podemos utilizar la siguiente sintaxis. 

SELECT
   model_year
FROM products
GROUP BY model_year
HAVING COUNT(product_id) < 50

year_with_less_than_50_pdt

2016

2019

Requisitos técnicos

COUNT() es una función disponible en todas las versiones de SQL modernas. 

Ver también

Más información sobre Python

Temas

Cursos populares de SQL

Certificación disponible

Course

Introducción a SQL

2 hr
625K
Aprende a crear y consultar bases de datos relacionales utilizando SQL en solo dos horas.
See DetailsRight Arrow
Start Course
Certificación disponible

Course

SQL intermedio

4 hr
199.5K
Acompañado en cada paso con consultas prácticas, este curso te enseña todo lo que necesitas saber para analizar datos utilizando tu propio código SQL ¡hoy mismo!
Ver másRight Arrow