Only you know what information you want to record, so you will have to decide how best to organise it.
You should read up some articles on Database Normalisation. There are some simple rules you should apply.
1) Never repeat data - so if you have stats for each player by game, don't have the players name in every row. This means you will need a table for players(key player_id), a table for games(key game_id) and a table for players games(keys player_id and game_id).
2) Never store data which can be looked up elsewhere. A simple example would be strong a first name and the first name initial in separate columns. It's unnecessary if you have a good database design and indexes. For you, I would say not to store averages or totals or any other calculation in the database. Simple reason is, you might forget to update it in your code so it becomes out of date.
As for doing calculations in PHP instead of SQL - I would say do it in SQL. If you only need the SUM or AVERAGE for a dataset, then there's no point pulling out 3000 rows of data and looping through it. If you need to list every row, with a TOTAL at the bottom then you may as well use PHP.
Hope that's a start for you.