# SQL COUNT(): ¿cómo contar las filas de una tabla?

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 resultados se pueden acotar aún más.

## ¿Qué es SQL COUNT()?

En el [lenguaje de consultas estructuradas (SQL)](https://www.ionos.es/digitalguide/servidores/configuracion/sql-introduccion-con-ejemplos/) hay numerosas funciones con las que puedes realizar operaciones matemáticas fácilmente. Además de [SQL AVG()](https://www.ionos.es/digitalguide/servidores/configuracion/sql-avg/) y SUM(), SQL COUNT() es especialmente útil, pues proporciona el **número de filas que se corresponden con un determinado criterio**. De esta forma, puedes filtrar una tabla según tus necesidades y hacer que la información quede más clara. La función SQL COUNT() se utiliza con el [comando SQL](https://www.ionos.es/digitalguide/servidores/configuracion/comandos-sql/) SELECT. Puedes dar instrucciones aún más precisas a la función utilizando varios parámetros opcionales. A continuación, te mostramos algunos ejemplos.

## 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:

```sql
SELECT COUNT(*)
FROM tabla;
```

No obstante, suele resultar muy útil incorporar la condición `WHERE` para especificar el resultado. En este caso, la función es un poco más extensa:

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

## Ejemplo de cómo funciona

Para ilustrar las posibilidades que ofrece SQL COUNT(), vamos a crear una tabla llamada `lista de clientes`, que contendrá informació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 encuentras a continuación:

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

Si aplicamos la variante básica de la función a esta tabla, se utilizaría el siguiente código:

```sql
SELECT COUNT(*)
FROM Lista de clientes;
```

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

## Especificar 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 determinadas columnas, en cuyo caso **no se tienen en cuenta los valores NULL**. Por lo tanto, si comprobamos el número de filas en `Ubicación`, obtendremos un resultado diferente:

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

Como no se ha almacenado ninguna ubicación para el cliente o la clienta `Becker`, se obtiene el resultado `4`.

## Combinació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 necesidades**. Por ejemplo, si solo se quiere comprobar cuántos clientes proceden de Hamburgo, se puede añadir esta condición:

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

El resultado es ahora `2`.

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

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

Eso se aplica a tres clientes.

## Excluir entradas duplicadas

Con la palabra clave `DISTINCT` es posible excluir entradas duplicadas. Si, por ejemplo, quieres saber de cuántas ciudades diferentes provienen tus clientes, puedes usar el siguiente código:

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

En este caso, el resultado es `3`. Las dos entradas de Hamburgo solo se han contabilizado 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](https://www.ionos.es/digitalguide/servidores/configuracion/alias-sql/) en nuestra guía). De esta forma, puedes crear un alias durante la consulta. Para nuestro ejemplo, este podría ser un posible alias:

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

Este es el resultado:

```sql
Número de entradas
5
```

Consejo Con el [Hosting SQL Server](https://www.ionos.es/cloud/sql-server-hosting) de IONOS puedes eligir el modelo de base de datos que se ajuste a tus necesidades. Ya sea con MSSQL, MySQL o MariaDB, podrás beneficiarte de un rendimiento superior, una gran seguridad y asesoramiento personalizado.


This is a markdown version of: [https://www.ionos.es/digitalguide/servidores/configuracion/sql-count/](https://www.ionos.es/digitalguide/servidores/configuracion/sql-count/) for AI/LLM consumption.