MATLAB: Get the first row in a table with grouped data

function grouped datamost recent datetable

Hi everyone, I want to know if there is a function which can get me a table with the first row that appears in grouped data. For example, I have this table:
key Date Height Weight
___ ____ ______ ______
4 56 34 12
21 45 123 23
21 40 67 133
45 49 64 119
45 45 12 12
The column date is already grouped in descending order.
I want to get a table with unique values for key but with the most recent date like this.
key Date Height Weight
___ ____ ______ ______
4 56 34 12
21 45 123 23
45 49 64 119
Please help

Best Answer

[~,ig]=findgroups(D.key);
[~,ig]=ismember(ig,D.key);
results in:
>> D(ig,:)
ans =
3×4 table
key Date Height Weight
___ ____ ______ ______
4 56 34 12
21 45 123 23
45 49 64 119
>>