Como ordenar un Group by..

Tengo una tabla como la de abajo y quiero agrupar por una columna y que los registros que me devuelva sean los últimos según la columna fecha.
Tabla
Lice_id             Lice_clave          Lice_dias         Lice_fecha_generada      Lice_empr_id
1                      123456              5                      14/01/2009                     12
2                      123456              30                    19/01/2009                     12
3 999555 10 25/01/2009  12
4                      123456              8                      25/01/2009                     12
5                      999555              30                    30/01/2009                     12
Consulta
SELECT lice_clave, lice_id, lice_dias, lice_fecha_generada from licencia
where lice_empr_id = 12
group by lice_clave
Con esta consulta me devuelve agrupado pero con los primeros registros.

1 respuesta

Respuesta
2
¿Has probado a usar el ORDER BY de toda la vida?
Si el tema es que con el order by ordeno el group by... ¿entendés?
Lo que necesito es que el registro del group by me traiga el ultimo registro del grupo.
El ejemplo seria así:
4           123456          8                 25/01/2009            12
5           999555          30               30/01/2009            12
Muchas GRacias!1
La verdad me ha costado, pero no era tan difícil, es una consulta anidada:
select * from (select * from licencia order by lice_id desc)sub where sub.lice_empr_id = 12 group by lice_clave
Yo hago un select * pero tú como persona responsable usarás sólo los campos que necesites =)
Debería funcionarte, por lo menos a mí contra la base de datos que he creado a partir de tu ejemplo me funciona de PM. No obstante si no te funciona seguimos buscando soluciones.
Perfecto! Muchísimas gracias! Me estaba volviendo loco y no encontraba ejemplos! Impecable, por lo que vi en la web esta consulta le va a salvar la vida a más de uno!
Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas