PostgreSQL tiene una cláusula HAVING que se usa para eliminar grupos de filas que no cumplen con criterios o condiciones específicas. Generalmente se usa junto con la cláusula GROUP BY para filtrar filas de grupos que no cumplen una condición específica.
Syntax: SELECT column_1, aggregate_function (column_2) FROM tbl_name GROUP BY column_1 HAVING condition;
Ahora analicemos la sintaxis anterior:
- En la sintaxis anterior, la función agregada representa funciones como SUM(), COUNT(), etc.
- La cláusula HAVING proporciona la condición para filas de grupos creadas por la cláusula GROUP BY.
- La cláusula WHERE establece la condición para cada fila antes de que se aplique la cláusula GROUP BY.
Por el bien de este artículo, utilizaremos la base de datos de alquiler de DVD de muestra , que se explica aquí y se puede descargar haciendo clic en este enlace en nuestros ejemplos.
Ejemplo 1:
Aquí consultaremos para seleccionar al único cliente que ha estado gastando más de 200 USD utilizando la cláusula HAVING en la tabla de «pago» de nuestra base de datos de muestra.
SELECT customer_id, SUM (amount) FROM payment GROUP BY customer_id HAVING SUM (amount) > 200;
Producción:
Ejemplo 2:
Aquí consultaremos para seleccionar las tiendas que tienen más de 200 clientes utilizando la cláusula HAVING en la tabla de «clientes» de nuestra base de datos de muestra.
SELECT store_id, COUNT (customer_id) FROM customer GROUP BY store_id HAVING COUNT (customer_id) > 200;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA