Any other way than using formula for this use case?

Excuse me if this is a common use case. I want to keep all the communication records with partners, plus having a column in the partner table that shows the latest communcation record.

For example, I have communication records as below:

Jane.   2024-03-01   Requesting collaboration.
Jane.   2024-03-05   Giving updates.
Jane.   2024-03-10   Showing  demo and gather feedback.

Tom.   2024-02-01    Requesting collaboration.
Tom.   2024-03-05   Giving updates.

I want to see in contact table something like as below:

Jane.   2024-03-10   Showing  demo and gather feedback.
Tom.   2024-03-05   Giving updates.

I guess it’s feasible to make some query like “SELECT MAX(DATE) in COMMUNICATIONS”, but just wonder if there’s other recommended means.
Thanks for any suggestion.