Agrupación y filtrado de datos en SQL con GROUP BY y HAVING
Clase 12 de 29 • Curso de PostgreSQL
Resumen
Dominar SQL implica conocer operadores clave como GROUP BY y HAVING, que facilitan la organización y filtrado de resultados en bases de datos. En esta clase, aprenderás cómo agrupar datos y filtrar grupos específicos utilizando estos operadores, lo que te permitirá analizar información de forma precisa.
¿Qué es y cómo se utiliza el operador GROUP BY?
El operador GROUP BY se utiliza en SQL para agrupar filas que tienen los mismos valores en columnas determinadas. Para usarlo correctamente, sigue estos pasos básicos:
- Selecciona la columna sobre la que quieres realizar la agrupación.
- Utiliza un operador de agregación, como COUNT, para contar registros agrupados.
Ejemplo:
SELECT CUSTOMER_ID, COUNT(RENTAL_ID) AS Total_Rentas
FROM RENTAL
GROUP BY CUSTOMER_ID;
Al ejecutar este código, verás una tabla con cada cliente y el total de rentas que realizó, organizada claramente gracias al operador GROUP BY.
¿Cómo renombrar columnas utilizando el operador AS en SQL?
Cuando quieres presentar los resultados con nombres más amigables, utiliza el operador AS para renombrar columnas en tus consultas.
Ejemplo práctico:
SELECT CUSTOMER_ID, COUNT(RENTAL_ID) AS Total_Rentas
FROM RENTAL
GROUP BY CUSTOMER_ID;
Así, la columna que inicialmente se llama COUNT(RENTAL_ID) aparecerá con el título más comprensible de "Total_Rentas".
¿Para qué sirve el operador HAVING y cómo aplicarlo?
El operador HAVING permite restringir los resultados para incluir solo aquellos grupos que cumplan una condición específica. Esto es especialmente útil cuando quieres identificar clientes o registros particularmente relevantes.
Ejemplo práctico donde mostramos clientes con más de 25 rentas:
SELECT CUSTOMER_ID, COUNT(RENTAL_ID) AS Total_Rentas
FROM RENTAL
GROUP BY CUSTOMER_ID
HAVING COUNT(RENTAL_ID) > 25;
Con esta consulta, puedes verificar rápidamente cuántos clientes superaron una cierta cantidad de rentas, ofreciéndote información valiosa.
¿Por qué es importante utilizar el punto y coma en SQL?
El uso del punto y coma (;
) indica el fin de una sentencia SQL. Aunque es posible dividir una sentencia SQL en varios renglones, esta será considerada una sola sentencia siempre y cuando finalice en punto y coma.
Por ejemplo, la consulta anterior puede ser escrita de la siguiente manera sin problema:
SELECT CUSTOMER_ID, COUNT(RENTAL_ID) AS Total_Rentas FROM RENTAL GROUP BY CUSTOMER_ID HAVING COUNT(RENTAL_ID) > 25;
Cualquiera que sea tu elección, recuerda incluir siempre el punto y coma al final.
Te invitamos a poner en práctica estos conocimientos y compartir tus experiencias en los comentarios.