Użyj prostej grupy według id_member, ale wybierz:
substring(max(concat(from_unixtime(timestamp),attendance)) from 20) as attendance
To dołącza obecność do znacznika czasu dla każdego wiersza w grupie, aby móc wybrać żądany znacznik czasu/obecność za pomocą max(), a następnie wyodrębnić tylko obecność.
Co concat()
zwraca 19 znaków sformatowanego znacznika czasu (RRRR-mm-dd GG:MM:SS) z dodaną obecnością zaczynającą się od znaku 20; substring(... from 20)
pobiera tylko frekwencję z (stringu) maksimum dla grupy. Możesz usunąć grupę przez i po prostu
select concat(from_unixtime(timestamp),attendance), timestamp, attendance
aby lepiej zrozumieć, w jaki sposób wykorzystuje max, aby uzyskać odpowiednią frekwencję.