Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] COMO PUEDO FILTRAR EL AÑO MÁXIMO DE NACIEMIENTO

Estuve jugando con los código y quise que me muestre el año máximo de nacimiento, de modo que codifique lo siguiente:

  • SELECT YEAR(MAX([FECHA DE NACIMIENTO])) FROM [CLIENTES]; Y si me arrojo el año máximo, solo me mostro 1990

Ahora quise ver los clientes con ese año Max de modo que codifiqué:

  • SELECT * FROM [CLIENTES] WHERE YEAR([FECHA DE NACIMIENTO]) = YEAR(MAX([FECHA DE NACIMIENTO]));

Pero no pude :( también lo intente de está manera y nada: SELECT * FROM [CLIENTES] WHERE MAX([FECHA DE NACIMIENTO]); este ultimo creo que no, porque me dice que no es booleano.

1 respuesta

¡Hola Darwin!

Entiendo que estás tratando de filtrar los clientes que nacieron en el año máximo de nacimiento en tu base de datos. El problema que estás enfrentando es común cuando se trata de usar funciones de agregación como MAX() en una cláusula WHERE.

Para lograr lo que deseas, puedes usar una subconsulta. Aquí tienes un ejemplo de cómo podrías hacerlo:

SELECT * FROM [CLIENTES]
WHERE YEAR([FECHA DE NACIMIENTO]) = (
    SELECT YEAR(MAX([FECHA DE NACIMIENTO])) FROM [CLIENTES]
);

Lo que hace esta consulta es primero encontrar el año máximo de nacimiento usando la subconsulta (SELECT YEAR(MAX([FECHA DE NACIMIENTO])) FROM [CLIENTES]) y luego filtra los registros de la tabla CLIENTES que coinciden con ese año.

Espero que esta solución te sea útil y puedas ver la lista de clientes que nacieron en el año máximo. ¡Espero haber ayudado y buenos estudios!