Hmm...
Allgemein kann dir sicherlich niemand beantworten wie genau aufgeteilt du deine Daten speichern musst.
Klar ist, dass für eine wie von dir beschriebene Auswertung die Daten ausgewertet werden müssen. Das kann entweder im Script passieren (du läufst alle Datensätze durch und analysierst diese) oder viel besser du überlegst dir welche Statistiken du willst und formst die Daten einmal um. Beispielsweise in eine Struktur wie
ID
information
value
version
Dann könntest du Daten in dieser Art speichern
OS - Windows - leer
OS - Linux - leer
Browser - MSIE - 6.0
Browser - Firefox - 1.0
...
Die Auswertung klappt dann einfach über COUNT und GROUP. Alternativ könntest du auch direkt einen Zähler integrieren und dann beim speichern abfragen ob ein neuer Eintrag angelegt werden muss, oder der Zähler hochgesetzt werden soll
$data =mysql_fetch_assoc( mysql_query("SELECT COUNT(*) cnt FROM tabelle WHERE information='Browser' AND value = 'Firefox' AND version = '1.0'"
);
if($data['cnt']==0) {
// INSERT
} else {
// UPDATE zaehler = zaehler+1
}
Weiterhin könntest du auch überlegen anstatt eine Tabelle zu nehmen, für jede Informationsart eine eigene zu benutzen.