Datenbankeinträge zählen

Grunge

Erfahrenes Mitglied
Hi,

wie kann ich Einträge in einer Datenbank zählen, wo mindestens ein Wert immer übereinstimmt. Das heißt ich habe beispielsweise eine Tabelle mit 3 Spalten. Nun sollen alle Zeilen die den gleich Wert in Spalte 1 ein haben gezählt werden und in eine Variable gespeichert werden.
Wie geht das!? Ich habe eine derarti Schleife nicht hinbekommen =(
 
Evt. so:
PHP:
SELECT 
    COUNT('e.*') AS gezaehlt 
FROM 
    tabelle as e, 
    tabelle as z 
WHERE 
    z.id = 1
    AND e.name = z.name

Bitte mich jetzt nicht dir das hier zu erklären. Daran würde ich glaube ich scheitern. (Bin nicht gut im "schriftlichen" erklären :) )
 
Ich glaube, das Query von Fanste ist etwas über das Ziel hinausgeschossen. ;)
Ich wage zu behaupten, dass es auch einfacher geht:
Code:
SELECT
  Spalte1,
  COUNT(*) AS Anzahl
FROM Tabelle
GROUP BY Spalte1
Erläuterung findest Du im Handbuch.

Gruß hpvw
 
OK, ich werde es versuchen.

Code:
tabelle: Name der Tabelle, aus der die Einträge kommen sollen
id = 1: Hiermit legst du fest, welche zeile als Erste gelten soll.
        (gehe davon aus, das du IDs verwendest, die einmalig sind)
name: Die Felder die verglichen werden sollen. z.name ist das Feld,
      welches aus der von dir ernannten, ersten Zeile kommt.
      (durch die ID). Mit e.name werden alle Felder angesprochen,
      die den gleichen Wert wie das name Feld von der ersten Zeile haben.

      Hierzu gehört dann das COUNT('e.*') Damit werden dann alle Felder
      mit diesem gleichen Wert gezählt.

Ich hoffe es ist verständlich! :)

EDIT:
Kann gut sein, das es einfacher geht. Ich kann mehr PHP als MYSQL :)
 
Zuletzt bearbeitet:
PHP:
  $sql="SELECT
  sid,
  COUNT(*) AS Anzahl
FROM Warenkorb
GROUP BY sid";

$result=mysql_query($sql) or die(mysql_error());
$anzahl=mysql_result($result, 0);
echo $anzahl;

da shabe ich nun aus nem anderen Tutorial mit eurem kombiniert. Nur er gibt mir keine Anzahl sondern den Wert in der Spalte "sid" aus. WIESO!?
 
Versuche mal Folgendes:
PHP:
 $sql="SELECT
  sid,
  COUNT(*) AS Anzahl
FROM Warenkorb
GROUP BY sid";

$result=mysql_query($sql) or die(mysql_error());
while ($row=mysql_fetch_assoc($result)) {
    echo $row['sid'].": ".$row['Anzahl']."<br>\n";
}
Gruß hpvw
 
Zurück