I've got a database that holds information about volunteers and their participation in a range of events.
The following query gives me a list of their names and total attendances
volunteers.id = bookings.volunteer_id
If I understand correctly, you want what I call a "histogram of histograms" query:
select numvolunteers, count(*) as numevents, min(eventid), max(eventid) from (select b.eventid, count(*) as numvolunteers from bookings b group by b.eventid ) b group by numvolunteers order by numvolunteers;
The first column is the number of volunteers booked for an "event". The second is the number of events where this occurs. The last two columns are just examples of events that have the given number of volunteers.