Gesamtzahl der Frauen aus der Spalte "Geschlecht" ermitteln?

kayut

Mitglied
Hi,

ich möchte aus der Spalte "Geschlecht" die Gesamtzahl der Männer und die Gesamtzahl der Frauen ermitteln.

Das Ergebnis sollte etwa so aussehen:

Insgesammt: 32
Frauen: 12
Männer: 20


Kann mir bitte jemand einen Tipp geben wie die Abfrage dafür aussehen sollte?

Danke
 
Moin kayut,

lass mich raten....
..deine Datenbank ist eine TamaGotchi Enterprise Edition unter Betriebssystem Snapso 2008.

.. deine Tabelle heißt "Tabelle"
..die Spalte "Geschlecht" ist ein ein BLOB-Feld mit JPEG-Binaries.

Ach ja, und wenn nichts eingetragen ist, werten wir es als "Frau".

Viel Glück
Biber
 
Das Problem ist, wir wissen nicht wie deine Tabelle aufgebaut ist, wie die Felder heißen, welcher Datentyp, usw.
In reinem SQL umsetzen? Oder gepaart mit einer Programmiersprache?
 
Mangels Information musst ud viele Sachen im folgenden Beispielquery ersetzn, ggf auf deine DBA anpassen.

SQL:
SELECT
    "Insgesammt" AS Geschlecht,
    COUNT(*) AS Anzahl
FROM meineTabelle
UNION SELECT
    Geschlecht,
    COUNT(*) AS Anzahl
FROM meineTabelle
GROUP BY Geschlecht

Anstelle von UNION gibts je nach DBA noch viel schönere und performantere Lösungen
 
Zuletzt bearbeitet von einem Moderator:
Danke für eure Antworten.
Ich habe das Ganze erstmal so gelöst (bestimmt nicht die beste Lösung):
PHP:
$query = "SELECT geschlecht, COUNT(*) AS total 
	FROM jos_ckforms_1 
	GROUP BY geschlecht ORDER by total
	";
	
	$result = @mysql_query($query, $connect) OR die( mysql_error() );

	while ( $row = mysql_fetch_object($result) ) 
	{ 
	 echo "$row->geschlecht: ";
	 echo "$row->total<br>"; 
	}
Das klappt auch.
Die Spalte "geschlecht" ist aber nur eine Spalte von insgesamt 10 Spalten, die alle so behandelt werden müssen.
Deswegen möchte ich statt Spaltennamen eine Variable einsetzten. (Also der user wählt welche Spalte er an die Abfrage schicken möchte ).

Also um das zu lösen habe ich den Spaltenname aus dem Beispiel nämlich "geschlecht" durch die Variable $spalte ersetzt und die Abfrage wie folgt umgeschrieben:
PHP:
$query = "SELECT $spalte, COUNT(*) AS total 
	FROM jos_ckforms_1 
	GROUP BY $spalte ORDER by total
	";
	
	$result = @mysql_query($query, $connect) OR die( mysql_error() );

	while ( $row = mysql_fetch_object($result) ) 
	{ 
	 echo "$row->$spalte: ";
	 echo "$row->total<br>"; 
	}

Es klappt aber nicht. Die Query erzeugt folgende Fehlermeldung:

Catchable fatal error: Object of class stdClass could not be converted to string in / .....report.php on line 69

und das ist die Zeile 69:
echo "$row->$spalte: ";

Was mache ich falsch?

Danke
 
Ja, es funktioniert.

Besten Dank für die Antwort.
Und da sieht man wie wenig Ahnung ich von Programmieren habe.

Gruß
 
Zurück