SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD FROM tabla_de_clientes WHERE EDAD >=20 GROUP BY ESTADO, BARRIO ORDER BY EDAD;
SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD FROM tabla_de_clientes WHERE EDAD >=20 GROUP BY ESTADO, BARRIO ORDER BY EDAD;
Hola Moralens, cómo va? Analizando tu consulta, parece que estás intentando obtener el estado, el barrio, el límite de crédito máximo y la edad de los clientes que tienen al menos 20 años, agrupados por estado y barrio, y ordenados por edad.
La consulta que has proporcionado parece estar bien escrita. Sin embargo, es posible que estés obteniendo un error al ejecutarla debido a la tabla o a los datos que estás utilizando. Te recomendaría revisar si la tabla "tabla_de_clientes" existe y si contiene los campos mencionados en tu consulta. ;)
Además, asegúrate de que los nombres de los campos y las tablas estén escritos correctamente y de que estés conectado a la base de datos correcta.
Si después de revisar estos aspectos sigues teniendo problemas, sería útil que proporciones más información sobre el error que estás obteniendo para que pueda ayudarte de manera más específica.
Si este post te ayudó, por favor, marca como solucionado ✓.
La tabla de clientes existe y esta en mi base de datos. no se porque no se ejecuta
Hola Moralens, espero que te encuentres muy bien.
Yo también tuve el mismo error al momento de ejecutar la consulta que compartiste, pero afortunadamente ya encontré la solución a dicho error. La causa de que no se ejecuta, es porque en las consultas en las que se emplea el comando GROUP BY
, solo se pueden imprimir los campos que específiques en dicho comando y las funciones de agrupación (SUM, AVG, COUNT, etc.). Por ejemplo, si tu consulta es:
SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD
FROM tabla_de_clientes
WHERE EDAD >=20
GROUP BY ESTADO, BARRIO
ORDER BY EDAD;
Solamente puedes imprimir los campos ESTADO, BARRIO y LIMITE, ya que estás agrupando los campos con el comando GROUP BY
solo por ESTADO y BARRIO, y LIMITE es la función de agrupación MAX(). El campo EDAD es el que está ocasionando el error, ya que no está contemplado en la agrupación, así que tienes dos opciones para solucionar el problema:
SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE
FROM tabla_de_clientes
WHERE EDAD >=20
GROUP BY ESTADO, BARRIO
SELECT ESTADO, BARRIO, MAX(LIMITE_DE_CREDITO) AS LIMITE, EDAD
FROM tabla_de_clientes
WHERE EDAD >=20
GROUP BY ESTADO, BARRIO, EDAD
ORDER BY EDAD;
Con cualquiera de las dos opciones que elijas, tu consulta debería ejecutarse sin problemas. Se que en el video del profe, la consulta aparecia como tu la compartiste, pero por error se ejecutó una consulta anterior y por eso parece que esa consulta está correcta, pero no. Ojala que esto solucione tu problema.
¡Saludos!