MySQL - Einträge einer Tabelle zählen

So ermitteln Sie die Anzahl der Einträge einer Suchabfrage

Wer mit MySQL-Datenbankabfragen arbeitet, muss hin und wieder die Einträge einer Tabelle zählen. Vielleicht möchte man wissen, ob die betreffende Tabelle überhaupt Einträge enthält oder wie viele User das gleiche Alter haben. Für diese Problemstellung gibt es gleich mehrere Möglichkeiten.

Anzahl einer MySQL-Abfrage ermitteln

Das COUNT-Statement von MySQL zählt die Anzahl der Einträge und gibt diese entsprechend aus.

Die nachfolgende Abfrage ermittelt die Anzahl aller Benutzer der Tabelle user, deren Alter (age) größer 18 ist:


SELECT COUNT(*) FROM `users` WHERE `age` > 18 

Mit (*) werden alle Einträge gezählt. Es ist jedoch auch möglich, in den Klammern einen Spalte anzugeben, wie beispielsweise:


SELECT COUNT(id) FROM `users` WHERE `age` > 18 

Die beiden Abfragen unterscheiden sich im Grunde nicht.

Anzahl in neuer Variable speichern

Man kann jedoch auch einfach einen neuen Wert per AS-Statement schaffen, der sich ebenfalls auslesen lässt. In diesem Beispiel wird news_count als neue Zählvariable definiert:


SELECT COUNT(*) AS `news_count` FROM `news`

Auf diese Weise wurde mit der MySQL-Abfrage news_count neu erschaffen, welches jetzt den Zahlenwert der Anzahl der News-Einträge erhält und dann beispielsweise mit PHP ausgegeben werden kann.

Keine doppelten Vorkommen zählen

Darüber hinaus gibt es noch andere Fälle, in denen das COUNT-Statement sehr nützlich ist. Möchte man beispielsweise die Anzahl der verschiedenen Städte, aus denen die Benutzer kommen, zählen, dann nutzt man dafür DISTINCT, gefolgt von der gewünschten Spalte. In unserem Fall wollen wir die eindeutigen Städte von city ermitteln, ohne doppelte Einträge mitzuzählen:


SELECT COUNT(DISTINCT city) AS counter FROM users

Auf diese Weise werden über counter nur die verschiedenen Städte gezählt und nicht alle Einträge. Enthält die Datenbank-Tabelle nun insgesamt 20 Einträge aus Berlin und 5 aus München, dann sind dies dennoch lediglich zwei verschiedene Städte.

Auslesen der Anzahl mittels PHP

Eine schnelle und simple Variante, die Anzahl ohne COUNT auszulesen, bietet auch PHP mit dem Befehl mysqli_num_rows(), welcher die Anzahl der betroffenen Zeilen ermittelt und an eine Variable übergeben kann. Der Code sieht wie folgt aus:


$db_con = mysqli_connect("localhost", "bn", "pw", "db");
$query =   "SELECT id FROM news";
$res = mysqli_query($db_con, $query);
$count = mysqli_num_rows($res);

echo "Es wurden ".$count." Einträge gefunden.";

mysqli_close($db_con);

Die PHP-Variable $count enthält von mysqli_num_rows() den Wert der ausgelesenen Zeilen der Tabelle.

Diesen Tipp bewerten:

Mehr zum Thema: Webdesign aus der Kategorie Computer & Internet

Ihr Kommentar
 Ihr Name *
Keine Phantasienamen, Markennamen oder ähnliches.
 Ihr Avatar *
 E-Mail *
Wird nicht veröffentlicht. (Datenschutz)
 Kommentar *

Kommentare, die Werbung enthalten, werden nicht veröffentlicht.

Beliebt und gern gelesen:

Lästige Wespen mit ein paar Bierchen in die Falle locken
Wer kennt nicht die Situation. Nervig belagern zahlreiche Wespen im Sommer den Kaffeetisch und belästigen sämtliche Gäste. Hier erfahren Sie, wie Sie die Plagegeister fangen können.
Innere und äußerliche Anwendung der Aloe vera Pflanze
Die sogenannte Echte Aloe (Aloe vera) ist vielseitig einsetzbar und hilft, einige Leiden und Hautprobleme zu linden. Wie man die Blätter verwenden kann, zeigt Ihnen dieser Tipp.
Wie lange muss man Süßkartoffeln kochen?
Sie möchten für Ihr nächstes Gericht Süßkartoffeln zubereiten? Wie lange man die Knollen kochen sollte, erfahren Sie mit diesem Tipp.
Kümmel und seine Wirkung auf die Gesundheit
Kümmel als Gewürz ist jedem bekannt. Weniger verbreitet ist das Wissen über die Heilwirkung des Kümmels. Wie dieser auf die Gesundheit wirkt, lesen Sie hier.
Was tun gegen Jetlag - Wie verhindern?
Ein Jetlag ist eine unangenehme Begleiterscheinung vieler Reisen. Hier finden Sie sehr hilfreiche Tipps, wie Sie einen Jetlag verhindern und stattdessen Ihren Urlaub voller Energie genießen können.