Conteo condicional en PostgreSQL

Escrito por Ing. Pablo A Pico el . Posteado en Tutoriales y tips

Por lo general utilizamos count para contar registros de una consulta. Pero también podemos usarlos discriminando cuando contar y cuando no. El ejemplo es para Postgres pero se puede hacer de forma similar en mysql.

Esto es particularmente útil en consultas con GROUP BY donde se quieren conteos de diferentes categorías.
Un ejemplo sencillo sería: Supongamos que tenemos una tabla “MOVIMIENTOS” y queremos saber en una sola consulta cuantos movimientos fueron y cuantos fueron por el concepto igual a “DEPOSITO” usando la función COUNT:

Otro ejemplo sería:

Nótese que la consulta me permite tener un conteo total de todos los registros en la columna “contactos” pero ademas en la columna “matriculados” me permite simultáneamente saber cuantos de ellos cumplen la condición: tienen el campo cod_est_con con un valor igual a ‘M’. Si la condición es verdadera sumará 1 al conteo y si es falsa sumará NULL; es decir no sumará al conteo.

Otra forma de hacerlo sería con subcosultas pero esta forma sería más práctica y liviana.

Etiquetas:,

Ing. Pablo A Pico

Hola colegas y amigos. Los invito a seguir el blog a través del Fanpage en Facebook. En caso de que quieran contactarme lo pueden hacer por Twitter. A aquellos que sean Ingenieros de Sistemas y Desarrolladores de software los invito a formar parte de nuestro nuevo grupo en Facebook. Gracias por su visita, Ing Pablo A Pico

"Trackback" Enlace desde tu web.

¡Síguenos en Facebook con un me gusta!

Este sitio web está dedicado a los Ingenieros de Sistemas en Colombia. www.ingenierodesistemas.co