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.