Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione apenas o último valor usando group by no mysql


Use um grupo simples por id_member, mas selecione:
substring(max(concat(from_unixtime(timestamp),attendance)) from 20) as attendance

Isso anexa a presença ao timestamp para cada linha em um grupo, para poder selecionar o timestamp/presença desejado com max() e então extrair apenas o comparecimento.

O que concat() retorna é 19 caracteres de carimbo de data/hora formatado (AAAA-mm-dd HH:MM:SS) com a presença anexada começando no caractere 20; a substring(... from 20) obtém apenas a participação do máximo (stringwise) para o grupo. Você pode remover o grupo e apenas
select concat(from_unixtime(timestamp),attendance), timestamp, attendance

para ter uma ideia melhor de como ele usa max para obter o atendimento certo.