Den här kan lösa ditt problem:
select
record_id,
substring_index(group_concat(Data1 order by Time desc), ',', 1) Data1,
substring_index(group_concat(Data2 order by Time desc), ',', 1) Data2,
substring_index(group_concat(Time order by Time desc), ',', 1) Time
from records
group by record_id
;
Det kanske inte är lika snabbt som andra svar, men det är en annan version... prova. Om du har en Data3 kolumnen i tabellen kan du kopiera/klistra in Data1 och ändra bara alla referenser i denna kolumn till den nya.
Bara för att förklara hur detta fungerar:group_concat funktion sammanfogar alla icke-nullvärden i en kolumn med en separator (, som standard). Du kan beställa kolumnen före sammanlänkningen. Det fungerar lite som en fönsterfunktion i Oracle, Postgre och andra... substring_index får bara det första sammanlänkade värdet, eftersom listan är i fallande tidsordning.