Agreed, though I can't think of a simple way to do it with the data in it's form right now even with an outer join . Would be simplest if there were a row for every team regardless of whether they had a 'score' in the category.
Perhaps this is a little bit better in the interim.
Code:
mysql> select cpid,avg(projrank) as avpr,count(*),(avg(projrank)/count(*)) as av2 from boinc_milestone_makers where mtype like 't%' group by cpid order by av2 asc limit 0,20;
+-------------------------+---------+----------+------------+
| cpid | avpr | count(*) | av2 |
+-------------------------+---------+----------+------------+
| L'Alliance Francophone | 1.8182 | 11 | 0.16528926 |
| SETI.Germany | 1.9091 | 11 | 0.17355372 |
| SETI.USA | 2.0909 | 11 | 0.19008264 |
| Czech National Team | 5.8000 | 10 | 0.58000000 |
| Planet 3DNow! | 8.3636 | 11 | 0.76033058 |
| BOINC Synergy | 7.2222 | 9 | 0.80246914 |
| Ars Technica | 8.3000 | 10 | 0.83000000 |
| BOINC@Poland | 8.3000 | 10 | 0.83000000 |
| BOINCstats | 8.4000 | 10 | 0.84000000 |
| BOINC@AUSTRALIA | 8.3333 | 9 | 0.92592593 |
| Team 2ch | 11.3636 | 11 | 1.03305785 |
| The Knights Who Say Ni! | 12.6667 | 9 | 1.40740741 |
| Team Norway | 13.5556 | 9 | 1.50617284 |
| AMD Users | 15.5556 | 9 | 1.72839506 |
| Canada | 13.8750 | 8 | 1.73437500 |
| Sicituradastra. | 20.1818 | 11 | 1.83471074 |
| UK BOINC Team | 16.8889 | 9 | 1.87654321 |
| Russia | 17.6667 | 9 | 1.96296296 |
| TeAm AnandTech | 18.5000 | 8 | 2.31250000 |
| BOINC.Italy | 19.1250 | 8 | 2.39062500 |
+-------------------------+---------+----------+------------+
20 rows in set (0.00 sec)