Not sure I'm understanding you here.
Personal bests
$query = "SELECT memberID, stroke, distance, MIN(`time`) as pb FROM table
GROUP BY memberID, stroke, distance, `time`";
Now you run into the problem that this does not return a unique identifier for the row so you cannot get at the meetID or the eventID. You could also face the problem that the swimmer recorded exactly the same time in more than one race.
Now someone is going to jump in here and sey 'Yes, but in mysql you can select columns not included in the group by clause'.
Quite true:
"MySQL extends the use of GROUP BY so that you can use columns or calculations in the SELECT list that do not appear in the GROUP BY clause. This stands for “any possible value for this group.” "
Except that the manual also sez
"Do not use this feature if the columns you omit from the GROUP BY part are not unique in the group! You get unpredictable results."
And the meetID is not unique in the group if members swim in more than 1 heat for the race at the same meet.