Buen día a todos, soy un novato en base de datos y tengo una tabla socio_estado con estos datos:
socio | fecha | estado
25 | 2005-09-28 12:00:00 | 1
25 | 2011-08-12 09:45:30 | 6
30 | 2005-01-27 12:00:00 | 2
44 | 1993-03-16 12:00:00 | 1
44 | 2010-07-01 12:15:31 | 6
46 | 2005-12-30 12:00:00 | 6
48 | 2005-08-26 12:00:00 | 6
49 | 2006-01-27 12:00:00 | 1
49 | 2008-04-28 17:39:04 | 4
49 | 2008-05-27 09:21:25 | 1
y me gustaría que mi consulta tuviera este resultado:
socio | fecha | estado
25 | 2011-08-12 09:45:30 | 6
30 | 2005-01-27 12:00:00 | 2
44 | 2010-07-01 12:15:31 | 6
46 | 2005-12-30 12:00:00 | 6
48 | 2005-08-26 12:00:00 | 6
49 | 2008-05-27 09:21:25 | 1
es decir, que me agrupe por socio y me muestre el estado de acuerdo a la fecha más reciente.
He probado:
Código SQL:
Ver originalSELECT socio, MAX(fecha), estado
FROM socio_estado
GROUP BY socio ASC
Pero solo me agrupa los socios y me da el primer estado que encuentra, no el que corresponde a la fecha más actual. Leí que hay que hacer select añadidos pero no me sale, si alguien puede ayudarme le estaría muy agradecido.