SQL COUNT()Función


La función COUNT() devuelve el número de filas que coinciden con la condición especificada.


Sintaxis de SQL COUNT(column_name)

La función COUNT(column_name) devuelve el número de valores de la columna especificada (NULL no se cuenta):

SELECT COUNT(column_name) FROM table_name;

Sintaxis de SQL COUNT(*)

La función COUNT(*) devuelve el número de registros en la tabla:

SELECT COUNT(*) FROM table_name;

Sintaxis de SQL COUNT(DISTINCT column_name)

La función COUNT(DISTINCT column_name) devuelve el número de valores distintos de la columna especificada:

SELECT COUNT(DISTINCT column_name) FROM table_name;

Nota:COUNT(DISTINCT) es compatible con ORACLE y Microsoft SQL Server, pero no se puede utilizar en Microsoft Access.


Base de datos de demostración

En este tutorial usaremos la base de datos de muestra EJEMPLO.

A continuación se muestran los datos seleccionados de la tabla "access_log":

+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
+-----+---------+-------+------------+


Ejemplo de SQL COUNT(column_name)

La siguiente sentencia SQL calcula el total de visitas con "site_id"=3 en la tabla "access_log":

Ejemplo

SELECT COUNT(count) AS nums FROM access_log
WHERE site_id=3;


Ejemplo de SQL COUNT(*)

La siguiente sentencia SQL calcula el número total de registros en la tabla "access_log":

Ejemplo

SELECT COUNT(*) AS nums FROM access_log;

Al ejecutar el SQL anterior, el resultado es el siguiente:


Ejemplo de SQL COUNT(DISTINCT column_name)

La siguiente sentencia SQL calcula el número de registros con diferentes site_id en la tabla "access_log":

Ejemplo

SELECT COUNT(DISTINCT site_id) AS nums FROM access_log;

Al ejecutar el SQL anterior, el resultado es el siguiente:



Otras extensiones