# Nur bestimmte Daten aus MySQL zählen!



## Boostergermany (27. Oktober 2009)

Servus,
ich bräuchte etwas hilfe bei meinem kleinen Script, nämlich hab ich irgendwie kein plan wie man da nur bestimmte Datensätze zählen kann, zum Beispiel würde ich gerne alle zählen, die als Vornamen Alex angegeben haben und dann auch anzeigen im Stil von "Es gibt 40 Alex in der Datenbank"

Könnt ihr mir da grad n bissl weiterhelfen?

Danke schon im vorraus


----------



## Parantatatam (27. Oktober 2009)

```
SELECT `Vorname`, COUNT(`Vorname`) FROM `Tabelle` WHERE `Vorname` = "Alex" GROUP BY `Vorname`
```


----------



## Enumerator (27. Oktober 2009)

Hi!

Bei solchen Aufgaben wie dem Filtern und Zählen von Namen brauchst Du die String-Funktionen.
Dann gibt es mehrere Möglichkeiten, die Sich in Performance und Flexibilität mitunter stark unterscheiden. Da hilft nur Ausprobieren!

```
SELECT COUNT(`name`) FROM `personen` WHERE SUBSTRING(`name`, 1, 5) = "Alex ";
SELECT COUNT(`name`) FROM  `personen` WHERE INSTR(`name`, "Alex ") = 1;
SELECT COUNT(`name`) FROM `personen` WHERE `name` LIKE "Alex ";
SELECT COUNT(`name`) FROM `personen` WHERE `name` REGEXP "^Alex\b";
```
Grundsätzlich funktioniert "nur bestimmte Datensätze Zählen" also genauso wie "nur bestimmte Datensätze auswählen": Mit Bedingungen.

Gruß
Enum

EDIT: Hm, da war wohl jemand schneller


----------



## Boostergermany (27. Oktober 2009)

okay, leider hatte ich jetz n halbes jahr nix mehr mitm inet am hut...ich blick grad nimmer durch xD habs so versucht:


```
<?php
$abfrage = "SELECT count(*) FROM active WHERE id = '0'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "$row->active <br>";
   }
?>
```

aber das mit dem echo $row peil ich nichmehr was ich da nomml angeben muss TUT MIR ECHT SORRY


----------



## Enumerator (27. Oktober 2009)

Probier's mal so:
	
	
	



```
<?php
$abfrage = "SELECT count(*) AS anzahl FROM active WHERE id = '0'";
$ergebnis = mysql_query($abfrage);
$ergebnis = mysql_fetch_object($anzahl);
echo $ergebnis->anzahl, "<br/>\n";
```
Ein while-loop ist hier nicht erforderlich da Du wenn dann nur eine Ergebnis-Zeile hast, mit nur einem Feld: "anzahl".


----------

