PostgreSQL CONTAR
La función `COUNT` de PostgreSQL se utiliza para devolver el número de filas de entrada que coinciden con una condición específica de una consulta. Se suele utilizar en las sentencias `SELECT` para proporcionar un recuento de filas de una tabla o el número de valores únicos de una columna.
Utilización
La función `CONTAR` determina el número de filas que cumplen ciertos criterios o cuenta el número de valores de una columna. Puede aplicarse a todas las filas, a distintos valores de columna o a condiciones específicas.
SELECT COUNT(column_name)
FROM table_name
[WHERE condition];
En esta sintaxis, `COUNT(nombre_columna)` cuenta el número de valores no nulos de la columna especificada, mientras que `COUNT(*)` cuenta todas las filas, incluidas las que tienen valores nulos.
Ejemplos
1. Recuento básico de todas las filas
SELECT COUNT(*)
FROM orders;
Este ejemplo devuelve el número total de filas de la tabla `pedidos`, incluidas las que tienen valores nulos.
2. Contar valores no nulos en una columna
SELECT COUNT(customer_id)
FROM orders;
Aquí, la función `COUNT` devuelve el número de entradas no nulas de la columna `customer_id` de la tabla `orders`.
3. Contar con una condición
SELECT COUNT(*)
FROM orders
WHERE order_status = 'completed';
Este ejemplo cuenta sólo las filas en las que el `estado_pedido` es `completado`, lo que proporciona información sobre subconjuntos específicos de datos.
4. Contar valores únicos no nulos en una columna
SELECT COUNT(DISTINCT customer_id)
FROM orders;
Este ejemplo cuenta los valores distintos no nulos de la columna `customer_id`, identificando entradas únicas de clientes.
Consejos y buenas prácticas
- Utiliza `COUNT(*)` para contar todas las filas. Esto incluye las filas con valores nulos y es eficaz para el recuento total de filas.
- Utiliza `COUNT(nombre_columna)` para ignorar los nulos. Cuenta las entradas no nulas de una columna concreta, útil para saber cuántas entradas válidas existen.
- Combínalo con `DÓNDE` para obtener recuentos filtrados. Aplica condiciones para limitar el resultado del recuento a criterios específicos.
- Utiliza `COUNT(DISTINCT nombre_columna)` para recuentos únicos no nulos. Esto garantiza el recuento de valores distintos, beneficioso para identificar entradas únicas.
- Considera el impacto en el rendimiento. En el caso de grandes conjuntos de datos, optimiza las consultas utilizando índices o reestructurando las consultas para mejorar el rendimiento de las operaciones "CONTAR".