Statistiken-Auswertung via SQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Statistiken-Auswertung via SQL

    Ich möchte diverse Statistiken über meine Website machen, z.B. über die Benutzer und deren Geschlecht (m/w). Dazu dividiere ich die Gesamtanzahl der Benutzer durch 100 und rechne die Summe mal dem männlichen Geschlecht. Genau das gleiche mache ich mit dem weiblichen Geschlecht.

    Das sieht bei mir nun folgender Maßen aus:

    PHP-Code:
    $num_query mysql_query("SELECT count(id) AS anzahl FROM customers_private");
    $num_row mysql_fetch_assoc($num_query);
    //echo "Geamtanzahl an Benutzern : $num_row[anzahl]";

    $age_query mysql_query("SELECT count(************) AS anzahl_m FROM customers_private WHERE ************ = 'm'");
    $age_row mysql_fetch_assoc($age_query);
    //echo "Anzahl an Männern : $age_row[anzahl_m]";

    $age_query mysql_query("SELECT count(************) AS anzahl_w FROM customers_private WHERE ************ = 'w'");
    $age_row mysql_fetch_assoc($age_query);
    //echo "Anzahl an Frauen : $age_row[anzahl_w]"; 
    Jetzt habe ich gemerkt, dass das viel zu umständlich wird, wenn ich dies für alle meine Auswertungen durchführe. Gibt es eine Möglichkeit in nur eine Query die Gesamtanzahl zu ermitteln, sowie die dazugehörigen Werte und die Rechnung ebenso in der Query durchzuführen?

  • #2
    ja,

    gruppiere einfach auf dem geschlecht, verwende COUNT(expression), um zu zählen - du erhälst anzahl männlein und weiblein.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Entschuldigung, was meinst du mit "gruppiere einfach auf dem geschlecht" ?

      Kommentar


      • #4
        ... GROUP BY ************

        (Gruppen************ auf Hessisch? )

        Kommentar


        • #5
          Habe jetzt Folgendes, wobei mir die anzahl der Gesamtuser wieder ausgegeben wir:

          PHP-Code:
          $q mysql_query("SELECT COUNT(************) AS anzahl FROM customers_private GROUP BY ************");
          $r mysql_fetch_assoc($q);
          echo 
          $r[anzahl]; 
          Tut mir leid, ich weiß gerade nicht wie ich das in der Query schreiben soll,
          ein Beispiel wäre sehr hilfreich.
          Zuletzt geändert von kerbstone; 10.08.2005, 14:27.

          Kommentar


          • #6
            Dein SELECT COUNT(************) ... liefert als Ergebnis nur eine einzige Zahl, da läßt sich nichts gruppieren.
            Einen einzigen Stein kannst du schließlich auch nicht in mehrere Eimer verteilen.

            Auf http://dev.mysql.com/doc/mysql/en/counting-rows.html gibt es einige Beispiele (übrigens auch mit ************).

            Kommentar

            Lädt...
            X