today I want to give one more definition of Group by of SQL language which for me is very explanatory.
Group by statement produces a record for each unique combination of group by columns list and ommiting other columns of tables.
Also you can apply aggregate functions to other columns. Aggregate functions may be count, sum, avg, mean, max, etc.
And each of the functions will be executed against columns of groupped records.