1
respuesta

GROUP BY

En la última explicación con la sentencia SELECT ESTADO, BARRIO, EDAD, max(LIMITE_DE_CREDITO) AS LIMITE, EDADFROM tabla_de_clientes WHERE EDAD > 20 GROUP BY ESTADO, BARRIO ORDER BY EDAD;

Me dio error, si le incorporo al GROUP BY ESTADO, BARRIO, EDAD FUNCIONA, SINO NO.
1 respuesta

¡Hola Mónica! Cómo va? Todo bien?

En SQL, cuando utilizas la cláusula GROUP BY, debes incluir todas las columnas que no sean parte de una función de agregación en la cláusula SELECT. En tu caso, estás utilizando la función de agregación MAX para la columna LIMITE_DE_CREDITO, pero no estás incluyendo la columna EDAD en el GROUP BY.

Por lo tanto, para que la consulta funcione correctamente, debes incluir la columna EDAD en el GROUP BY, junto con las columnas ESTADO y BARRIO. La consulta corregida sería así:

SELECT ESTADO, BARRIO, EDAD, MAX(LIMITE_DE_CREDITO) AS LIMITE FROM tabla_de_clientes WHERE EDAD > 20 GROUP BY ESTADO, BARRIO, EDAD ORDER BY EDAD;

De esta manera, la consulta agrupará los resultados por ESTADO, BARRIO y EDAD, y luego mostrará el valor máximo de LIMITE_DE_CREDITO para cada grupo.

Espero que esta explicación te haya ayudado a entender cómo utilizar correctamente la cláusula GROUP BY en consultas SQL. Si tienes alguna otra pregunta, no dudes en hacerla. Abrazos!

Si este post te ayudó, por favor, marca como solucionado ✓.