Introducción
En PostgreSQL, la función COUNT()
devuelve el número de filas de una tabla especificada, y una sentencia SELECT
devuelve los registros que coinciden con las condiciones de consulta especificadas. Utilizados conjuntamente, esta función y la sentencia pueden llevar sus consultas PostgreSQL al siguiente nivel y devolver el número de registros que cumplen los criterios especificados en la consulta. En este artículo, mostraremos cómo utilizar Postgres COUNT y SELECT en tándem para averiguar cuántos registros se devuelven de una consulta dada.
Requisitos previos
Antes de continuar con este tutorial, asegúrese de que PostgreSQL está instalado en su ordenador. Necesitarás usar la base de datos para realizar tus SELECT COUNT
declaraciones. También necesitará tener algún conocimiento introductorio de PostgreSQL para poder seguir los ejemplos proporcionados en este artículo.
PostgreSQL COUNT SELECT
La siguiente sintaxis se utiliza cuando la función COUNT()
se utiliza junto con una sentencia SELECT
:
1
|
SELECT COUNT ( , ) FROM NOMBRE_Tabla;
|
Exploremos un poco más la sintaxis mostrada arriba:
-
SELECT
– Se utiliza para seleccionar ciertas columnas de la base de datos. -
COUNT
– Se utiliza para contar el número de registros de esta tabla. -
DISTINCT
– Esta cláusula se utiliza para eliminar los duplicados de los registros devueltos. -
Asterisk (*)
– Utilizar el asterisco equivale a seleccionar todas las columnas de una tabla. -
column_name
– Representa el nombre de la columna para la que se quieren contar los registros. -
table_name
– Representa el nombre de la tabla para la que se quieren contar los registros.
Ejemplos de la función de conteo de PostgreSQL
En nuestros ejemplos utilizaremos una tabla llamada countries
:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
país_id | nombre_país | continente | código
————+————————–+—————+—— 35 | Sudáfrica | África | AF 14 | Canadá | América del Norte | NA 51 | Cuba | América del Norte | NA 41 | México | América del Norte | NA 45 | Estados Unidos de América | América del Norte | NA 85 | Argentina | América del Sur | SA 37 | Venezuela | América del Sur | SA 63 | Filipinas | AS 63 Asia | AS 83 | China | Asia | AS 22 | Rusia | Asia | AS 21 | Emiratos Árabes Unidos | Asia | AS 62 | Alemania | Europa | EU 73 | Italia | Europa | EU 28 | Reino Unido | Europa | EU |
SELECT COUNT all example
Para nuestro primer ejemplo, contaremos el número de filas de la tabla:
1
|
SELECT COUNT(*) AS number_of_rows FROM countries;
|
El resultado de esta consulta será el siguiente:
1
2 3 |
number_of_rows
—————- 14 |
Nota que hemos utilizado un alias al incluir la cláusula AS
para especificar el nuevo nombre de la columna.
El resultado sólo incluye una columna, ya que el único dato que se devuelve es el número de filas de la tabla.
Ejemplo de columna COUNT
A continuación, vamos a intentar contar el número de filas de una columna especificada.
1
|
SELECT COUNT(«nombre_país») AS number_of_rows FROM countries;
|
El resultado de esta consulta se puede ver a continuación:
1
2 3 |
number_of_rows
—————- 14 |
El resultado es el mismo que el del primer ejemplo ya que esta consulta también cuenta el número total de filas de la tabla.
Ejemplo de recuento distinto
Intentemos esta vez un ejemplo más complejo. Utilizaremos la cláusula DISTINCT
y contaremos el número de filas de la columna denominada «continente»:
1
|
SELECT COUNT( DISTINCT continente ) FROM países;
|
El resultado de esta consulta será un poco diferente:
1
2 3 |
COUNT
——- 5 |
En esta consulta, el resultado es sólo cinco porque la función DISTINCT
elimina cualquier valor duplicado encontrado en los registros.
Cuenta GROUP BY
Nuestro siguiente ejemplo hará uso de la cláusula GROUP BY
. Contaremos el número de filas por cada valor encontrado en la columna llamada «código»:
1
2 3 |
SELECT code, COUNT(code)
FROM countries GROUP BY code; |
Aquí tenemos el resultado de nuestra consulta:
1
2 3 4 5 6 7 |
código | COUNT
——+——- NA | 4 SA | 2 AF | 1 AS | 4 EU | 3 |
Conclusión
Cuando se consulta una tabla PostgreSQL, hay veces que se necesita el número de registros que coinciden con ciertas condiciones más que los propios registros. El uso conjunto de COUNT y SELECT de Postgres puede ayudarle a obtener los resultados que necesita. En este artículo, proporcionamos varios ejemplos que utilizan la sentencia PostgreSQL SELECT
junto con la función COUNT()
. Si sigue estos ejemplos, estará preparado para crear consultas similares para sus propias tablas de PostgreSQL.