PostgreSQL – Cláusula HAVING

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *