SQL COUNT() permite consultar cuántas filas tiene una tabla. Si se emplea la condición WHERE, los criterios de esta búsqueda y de re­su­l­ta­dos se pueden acotar aún más.

¿Qué es SQL COUNT()?

En el lenguaje de consultas es­tru­c­tu­ra­das (SQL) hay numerosas funciones con las que puedes realizar ope­ra­cio­nes ma­te­má­ti­cas fá­ci­l­me­n­te. Además de SQL AVG() y SUM(), SQL COUNT() es es­pe­cia­l­me­n­te útil, pues pro­po­r­cio­na el número de filas que se co­rre­s­po­n­den con un de­te­r­mi­na­do criterio. De esta forma, puedes filtrar una tabla según tus ne­ce­si­da­des y hacer que la in­fo­r­ma­ción quede más clara. La función SQL COUNT() se utiliza con el comando SQL SELECT. Puedes dar in­s­tru­c­cio­nes aún más precisas a la función uti­li­za­n­do varios pa­rá­me­tros op­cio­na­les. A co­n­ti­nua­ción, te mostramos algunos ejemplos.

Se­r­vi­do­res virtuales (VPS)
VPS rentables en se­r­vi­do­res Dell En­te­r­pri­se
  • 1 Gb/s de ancho de banda y tráfico ilimitado
  • 99,99 % de tiempo de actividad y ce­r­ti­fi­ca­ción ISO
  • Soporte 24/7 ga­la­r­do­na­do y asesor personal

La sintaxis de la función

En primer lugar, vale la pena echar un vistazo a la sintaxis y las funciones generales de SQL COUNT(). La versión estándar solo consta de dos líneas y tiene el siguiente aspecto:

SELECT COUNT(*)
FROM tabla;
sql

No obstante, suele resultar muy útil in­co­r­po­rar la condición WHERE para es­pe­ci­fi­car el resultado. En este caso, la función es un poco más extensa:

SELECT COUNT(*)
FROM tabla
WHERE condición;
sql

Ejemplo de cómo funciona

Para ilustrar las po­si­bi­li­da­des que ofrece SQL COUNT(), vamos a crear una tabla llamada lista de clientes, que contendrá in­fo­r­ma­ción sobre el número de cliente, el apellido del cliente o de la clienta, su ubicación, la cantidad de artículos del pedido y el total invertido en euros. La en­cue­n­tras a co­n­ti­nua­ción:

Nr. de cliente Apellido Ubicación Nr. de artículos Inversión total
1427 Schmidt Berlín 14 634
1377 Schulz Hamburgo 9 220
1212 Peters Hamburgo 15 619
1431 Müller Múnich 22 912
1118 Becker NULL 10 312

Si aplicamos la variante básica de la función a esta tabla, se uti­li­za­ría el siguiente código:

SELECT COUNT(*)
FROM Lista de clientes;
sql

Como resultado se obtiene el valor 5, ya que la tabla contiene cinco filas.

Es­pe­ci­fi­car consulta de columna

Utiliza el asterisco después de COUNT para indicar al sistema que incluya sin excepción todas las filas y campos. También es posible limitar la consulta a de­te­r­mi­na­das columnas, en cuyo caso no se tienen en cuenta los valores NULL. Por lo tanto, si co­m­pro­ba­mos el número de filas en Ubicación, ob­te­n­dre­mos un resultado diferente:

SELECT COUNT(Ubicación)
FROM Lista de clientes;
sql

Como no se ha al­ma­ce­na­do ninguna ubicación para el cliente o la clienta Becker, se obtiene el resultado 4.

Co­m­bi­na­ción con WHERE

En el siguiente paso, vamos a utilizar la función con una condición WHERE para poder filtrar las entradas según nuestras ne­ce­si­da­des. Por ejemplo, si solo se quiere comprobar cuántos clientes proceden de Hamburgo, se puede añadir esta condición:

SELECT COUNT(Ubicación)
FROM Lista de clientes
WHERE Ubicación = 'Hamburgo';
sql

El resultado es ahora 2.

Para filtrar por clientes que se han gastado al menos 400 euros, SQL COUNT() se utiliza de manera similar:

SELECT COUNT(Ubicación)
FROM Lista de clientes
WHERE Inversión total > 400;
sql

Eso se aplica a tres clientes.

Excluir entradas du­pli­ca­das

Con la palabra clave DISTINCT es posible excluir entradas du­pli­ca­das. Si, por ejemplo, quieres saber de cuántas ciudades di­fe­re­n­tes provienen tus clientes, puedes usar el siguiente código:

SELECT COUNT(DISTINCT Ubicación)
FROM Lista de clientes;
sql

En este caso, el resultado es 3. Las dos entradas de Hamburgo solo se han co­n­ta­bi­li­za­do una vez. Como el campo del cliente Becker es NULL, esta entrada tampoco cuenta.

La función con un alias

Para titular la salida, puedes utilizar la palabra “AS” (más sobre SQL AS en nuestra guía). De esta forma, puedes crear un alias durante la consulta. Para nuestro ejemplo, este podría ser un posible alias:

SELECT COUNT(*) AS [Número de entradas]
FROM Lista de clientes;
sql

Este es el resultado:

Número de entradas
5
sql
Consejo

Con el Hosting SQL Server de IONOS puedes eligir el modelo de base de datos que se ajuste a tus ne­ce­si­da­des. Ya sea con MSSQL, MySQL o MariaDB, podrás be­ne­fi­ciar­te de un re­n­di­mie­n­to superior, una gran seguridad y ase­so­ra­mie­n­to pe­r­so­na­li­za­do.

Ir al menú principal