La Red de Conocimientos Pedagógicos - Currículum vitae - La diferencia entre count(0) y count(1) en una declaración SQL

La diferencia entre count(0) y count(1) en una declaración SQL

1. Diferentes significados

count(1) contará el número de todos los campos calificados, incluidos los valores nulos. count(0) devolverá el número total de todas las filas de la tabla, incluidas las filas con valores nulos, mientras que count(nombre de columna) devolverá el número total de todas las filas de la tabla excepto null (las columnas con valores predeterminados también serán contado)), nombre de columna distinto, el resultado será el resultado después de eliminar valores nulos y datos duplicados.

2. Diferentes funciones

La principal es el campo de datos correspondiente a count(1).

Si count(1) es un índice agrupado, id, entonces count(1) debe ser más rápido. Pero la diferencia es muy pequeña. ? Porque count(*) optimizará automáticamente el campo especificado. Entonces no es necesario contar (?), use count (*), SQL lo ayudará a completar la optimización.

3. Los resultados son diferentes

Cuando abc está vacío, el segundo tipo no se incluye en el recuento, mientras que el primer tipo se incluye incondicionalmente en el recuento, proporcional a una columna. de datos

El nombre del campo es abc

A

B

NULL

En este caso, el La primera consulta es de 3 elementos y el resultado de la segunda consulta es de 2 elementos.