The best way to explain group by is it allows you to place records into groups based on values that are stored in the designed columns.
for example:
select gender, count(*) as ct from people group by gender
would allow you to group on the column gender, so you would expect to see something like
gender --- ct
M --- 50
F --- 40
50 records would have the gender value of M, 40 would have the value of F
All of your columns that you have in your select need to be in your group by also... and then in your select you can use math functions such as MAX, MIN, SUM, AVG, COUNT
mySQL has a good article on the usage of the group by function that you should take a look at if you haven't yet: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
I hope all of that makes sense,
Aaron