Mysql
 sql >> Database >  >> RDS >> Mysql

Seleziona solo l'ultimo valore utilizzando il gruppo per su mysql

Usa un gruppo semplice per id_member, ma seleziona:

substring(max(concat(from_unixtime(timestamp),attendance)) from 20) as attendance

Questo allega la presenza al timestamp per ogni riga di un gruppo, in modo da poter selezionare il timestamp/presenza desiderati con max() e quindi estrarre solo la presenza.

Cosa concat() i risultati sono 19 caratteri di timestamp formattato (AAAA-mm-gg HH:MM:SS) con la partecipazione aggiunta a partire dal carattere 20; la substring(... from 20) ottiene solo la partecipazione da quella massima (stringa) per il gruppo. Puoi rimuovere il gruppo semplicemente

select concat(from_unixtime(timestamp),attendance), timestamp, attendance

per avere un'idea migliore di come utilizza max per ottenere la giusta partecipazione.