"Does that make sense?"
The idea is ok, but this is not possible in one query.
The GROUP BY will make groups of records that have the same value for the column that you do the GROUP BY on.
From that group (note the words "from that group") you can select the highest date through MAX(), fetching the highest date of the group.
Doing a MAX() does not select the record with the highest date, it just reports the highest date.
For example:
Let's say you have four tennis-courts, and your database contains the names of the players and the scores and dates of their games.
What you want to know is the name of the player that had the highest score on each court.
The firt thing you'd try (but which is wrong) is:
SELECT playername, MAX(score)
FROM table
GROUP BY tenniscourt;
this does not work, it gives you the highest score for each court, but that score is not linked to the playername at all. What you'll get is the highest score per court, plus the first playername that appears in the group of records per court:
The group could be:
John 4
Peter 7
Carl 10
Bert 15
the MAX() would give 15 because that is the highest score, but playername would give 'John' because that is the first playername it finds.
PostgreSQL will even refuse to execute this query and complain that you are selecting a playername without telling SQL which playername you want.
In MySQL it seems to work (mysql have never been much good at implementing SQL standards, and in cases like these, even common sense seems alien to them) but the results you get are unreliable at best.
The only reliable way to do it is in two queries; one to get the highest datesub per comitteeid, and one to get the rest of the data for each of those comittees.