Tenho a seguinte query:
select usermac.nome, signallog.datetime
FROM usermac, signallog
WHERE usermac.mac=signallog.mac
ORDER BY usermac.nome ASC, signallog.datetime DESC
Que Resulta:
nome datetime
4jnp 2011-03-15 20:20:10
4jnp 2011-03-15 20:10:12
4jnp 2011-03-15 20:00:10
4jnp 2011-03-15 18:20:10
4jnp 2011-03-15 18:10:11
4jnp 2011-03-15 18:00:14
4jnp 2011-03-15 17:50:17
4jnp 2011-03-15 17:40:19
4jnp 2011-03-15 17:30:15
abadiobanananp 2011-03-16 08:00:09
abadiobanananp 2011-03-16 07:50:07
abadiobanananp 2011-03-16 07:40:07
abadiobanananp 2011-03-16 07:30:06
abadiobanananp 2011-03-16 07:20:06
abadiobanananp 2011-03-16 07:10:06
abadiobanananp 2011-03-16 07:00:07
Até aqui tudo bem, porém preciso agrupar estes registros com GROUP BY para aparecer apenas 1 (um) usuário e o último DATETIME.
Fica assim:
select usermac.nome, signallog.datetime
FROM usermac, signallog
WHERE usermac.mac=signallog.mac
GROUP BY usermac.nome
ORDER BY usermac.nome ASC, signallog.datetime DESC
Resulta:
nome datetime
4jnp 2011-03-15 17:30:15
abadiobanananp 2011-03-14 21:46:42
O datetime que retorna é o mais antigo e não o mais atual.
Preciso deste tipo de resultado:
nome datetime
4jnp 2011-03-15 20:20:10
abadiobanananp 2011-03-16 08:00:09
Se alguém tiver uma idéia de como montar a query SQL para resultar assim, ficarei muito grato!