sql >> Base de Datos >  >> RDS >> Database

¿Cómo usar CONTAR en SQL?

Cómo usar COUNT en SQL

Introducción

  • CONTAR( ) es una función agregada en SQL.
  • Esta función cuenta el número de registros en una tabla si no se especifica la condición.
  • Si se especifica la condición, la función de recuento devuelve el número de registros que cumplen la condición especificada.

Variaciones de CONTAR ( ) en SQL

  1. CUENTA(*)

CONTAR (*) se utiliza para mostrar el número de registros presentes en una tabla.

Los resultados de la función COUNT (*) contendrán NULL así como entradas duplicadas también en consideración.

Sintaxis:

SELECT COUNT (*) FROM tablename;

Ejemplo:

Primero crearemos una base de datos con el nombre “employeedb”. Luego, en esa base de datos, crearemos una tabla "empleado" e insertaremos registros en la tabla. Consideraremos esta tabla y base de datos para todos los ejemplos posteriores.

Encontraremos el número de registros presentes en la tabla de 'empleados' usando la función COUNT ().

 mysql> USE employeedb;
 Database changed
 mysql> SELECT *FROM employee;
 +--------+----------+------------+
 | Emp_ID | Emp_Name | Emp_Salary |
 +--------+----------+------------+
 |      1 | Nikita   |      30000 |
 |      2 | Riddhi   |      25000 |
 |      3 | Nayan    |      45000 |
 |      4 | Shruti   |      15000 |
 |      5 | Anurati  |      55000 |
 |      6 | NULL     |       NULL |
 |      7 | Anurati  |      55000 |
 +--------+----------+------------+
 7 rows in set (0.00 sec) 
mysql> SELECT COUNT(*) FROM employee;

Salida:

 +----------+
 | COUNT(*) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Hay 7 registros presentes en la tabla de empleados.

  • CONTAR (1)

COUNT (1) también se usa para mostrar el número de registros presentes en una tabla. Los resultados de la función COUNT (1) contendrán NULL así como entradas duplicadas también en consideración. La función COUNT (1) funciona igual que COUNT (*). Incluso los resultados de COUNT (1) y COUNT (*) también son iguales.

Sintaxis:

SELECT COUNT (1) FROM tablename;

Ejemplo 1: Mostraremos la cantidad de registros presentes en la tabla de empleados usando COUNT (1).

mysql> SELECT COUNT(1) FROM employee;

Salida:

 +----------+
 | COUNT(1) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Hay 7 registros presentes en una tabla.

Ejemplo 2:

Veamos qué sucede cuando pasamos 14 como parámetro a la función COUNT().

mysql> SELECT COUNT(14) FROM employee;

Salida:

 +-----------+
 | COUNT(14) |
 +-----------+
 |         7 |
 +-----------+
 1 row in set (0.00 sec) 

Hay 7 registros presentes en una tabla. Entonces, 7 se muestra como una salida aunque hayamos pasado 14 como parámetro a la función COUNT(). Pasar un número entero a una función COUNT() no significa contar ese número de filas en la tabla. Simplemente significa que se asignarán 14 a todas y cada una de las filas presentes en una tabla y luego esas filas se sumarán para dar un total y se mostrarán como salida.

Ejemplo 3:

Veamos qué sucede cuando pasamos -14 como parámetro a la función COUNT().

mysql> SELECT COUNT(-14) FROM employee;

Salida:

 +------------+
 | COUNT(-14) |
 +------------+
 |          7 |
 +------------+
 1 row in set (0.07 sec) 

Hay 7 registros presentes en una tabla. Entonces, 7 se muestra como una salida aunque hayamos pasado -14 como parámetro a la función COUNT(). Simplemente significa que se asignará -14 a todas y cada una de las filas presentes en una tabla y luego esas filas se sumarán para dar un total y se mostrarán como salida.

  • COUNT(Nombre de columna)

COUNT(ColumnName) se usa para encontrar el número de registros que contienen valores para la columna especificada. Al usar la función COUNT() con el nombre de columna como parámetro, se ignorarán los registros que contengan valores NULL para ese registro.

Sintaxis:

SELECT COUNT(ColumnName) FROM tablename;

Ejemplo 1:

Mostraremos la cantidad de registros que existen para Emp_ID.

mysql> SELECT COUNT(Emp_ID) FROM employee;

Salida:

 +---------------+
 | COUNT(Emp_ID) |
 +---------------+
 |             7 |
 +---------------+
 1 row in set (0.00 sec) 

Hay 7 registros que contienen Emp_ID únicos. Por lo tanto, 7 se muestra como salida.

Ejemplo 2:

Mostraremos la cantidad de registros que existen para Emp_Name.

mysql> SELECT COUNT(Emp_Name) FROM employee;

Salida:

 +-----------------+
 | COUNT(Emp_Name) |
 +-----------------+
 |               6 |
 +-----------------+
 1 row in set (0.00 sec) 

Hay 7 registros en la tabla de empleados entre los cuales, un registro contiene valores NULL para Emp_Name. Entonces, ese registro en particular se ignora y se muestra 6 como salida.

Ejemplo 3:

Mostraremos la cantidad de registros que existen para Emp_Salary.

mysql> SELECT COUNT(Emp_Salary) FROM employee;

Salida:

 +-------------------+
 | COUNT(Emp_Salary) |
 +-------------------+
 |                 6 |
 +-------------------+
 1 row in set (0.00 sec) 

Hay 7 registros en la tabla de empleados entre los cuales un registro contiene valores NULL para Emp_Salary. Entonces, ese registro en particular se ignora y se muestra 6 como salida.

  • COUNT(DISTINCT ColumnnName)

La función COUNT() con DISTINCT ColumnName como su parámetro se usa para mostrar la cantidad de registros que contienen valores únicos para una columna específica. No se contarán los registros que contengan valores duplicados y NULL.

Sintaxis:

SELECT COUNT(DISTINCT ColumnName) FROM tablename;

Ejemplo 1:

Mostraremos la cantidad de registros que contienen valores únicos para Emp_ID.

mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;

Salida:

 +-------------------------+
 | COUNT( DISTINCT Emp_ID) |
 +-------------------------+
 |                       7 |
 +-------------------------+
 1 row in set (0.05 sec) 

Hay 7 registros que contienen valores únicos para Emp_ID.

Ejemplo 2:

Mostraremos la cantidad de registros que contienen valores únicos para Emp_Name.

mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;

Salida:

 +---------------------------+
 | COUNT( DISTINCT Emp_Name) |
 +---------------------------+
 |                         5 |
 +---------------------------+
 1 row in set (0.00 sec) 

Hay 5 registros que contienen valores únicos para Emp_Name. Los valores NULL y duplicados en Emp_Name no serán considerados por la palabra clave DISTINCT.

Ejemplo 3:

Mostraremos la cantidad de registros que contienen valores únicos para Emp_Salary.

mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;

Salida:

 +-----------------------------+
 | COUNT( DISTINCT Emp_Salary) |
 +-----------------------------+
 |                           5 |
 +-----------------------------+
 1 row in set (0.00 sec) 

Hay 5 registros que contienen valores únicos para Emp_Salary. Los valores NULL y duplicados en Emp_Salary no serán considerados por la palabra clave DISTINCT.