Sie sind hier: Startseite -> MySQLi-Grundlagen -> Select - Count

Mit select und count in MySQLi Datensätze zählen

Summe der gefundenen Ergebnisse

Ein wesentlicher Faktor bei der Abfrage von MySQLi-Datentabellen ist die Menge der Ergebnisse. Sie ist wichtig, um die Dimension feststellen zu können und um bei Funktionen das Ergebnis anzeigen zu können, beispielsweise bei der Angabe, wie viele Ergebnisse die Suche finden konnte.

Bisher haben wir verschiedene Abfragen mit der Oder- bzw. der Und-Funktion gelöst, haben diese Varianten auch verknüpft, doppelte Ergebnisse unterbunden oder andere Filter eingesetzt - aber wie viele Ergebnisse wir erhalten haben, wussten wir bisher nicht. Dafür gibt es aber ein einfaches Werkzeug, nämlich count.

Select-Abfrage mit count für eine Zählung einsetzen

Die Umsetzung ist eine recht einfache, denn man braucht nur count als Befehlswort sowie eine Angabe, was gezählt werden soll, das kann ein Feld sein oder alles, was gefunden wurde.

select count(plz) from adressen

liefert die Anzahl der Zeilen, in denen im Feld der Postleitzahl ein Eintrag steht. Das bedeutet, das Zeilen, in denen in diesem Feld nichts steht, ignoriert werden. Nun hat man bei dieser Abfrage aber das Problem, dass es auch doppelte Einträge geben kann. Will man wissen, wie viele verschiedene Postleitzahlen gespeichert sind, muss distinct hinzugefügt werden.

select count(distinct plz) from adressen

Damit werden doppelt auftauchende Postleitzahlen vermieden und man erhält die Summe aller Postleitzahlen, die in der Tabelle vorliegen. Klassischer als eine solche Abfrage ist aber die folgende.

select count(*) as summe from adressen

Hier wird mit count die Summe der Zeilen gezählt und außerdem gleich mit einem Feldnamen verbunden. Das Feld summe gibt es nicht wirklich, es kann später aber verwendet werden, um die Gesamtzeilen in einer Variable zu nutzen. Die Gesamtzahl - egal ob in dieser Form abgefragt oder wie oben mit einem Feld - ist dann besonders wichtig, wenn man die Ergebnisse auf Seiten aufteilen möchte - denken Sie an die Blätterfunktion der Google-Suchmaschine.

Lesen Sie auch

MySQLi basiert auf SQL und daher gibt es gar nicht so viele Befehle wie etwa in einer richtigen Programmiersprache, aber es gibt zu den Befehlen viele Zusätze, speziell bei der Abfrage mit select. Es gibt aber auch Befehle, die man kaum braucht und dazu gehört create zum Anlegen von Datenbanken und Datentabellen oder drop zum Löschen selbiger. Auch alter als Befehl zum Ändern wird selten benötigt.

Dann gibt es Anordnungen, die man sehr oft oder gelegentlich braucht, ganz nach Situation. Mit delete kann man Datensätze löschen und das ist in einem Skript immer wieder der Fall, etwa alte Statistikdaten. Und mit insert kann man neue Datensätze anlegen, zum Beispiel nach dem Eintragen im Geästebuch.

Der große Akteur auf Ebene der MySQLi-Datenbank auch von PHP aus ist der Befehl select. Er dient dazu, die vorhandenen Daten zu untersuchen und es gibt eine ganze Reihe an Möglichkeiten, wie dies erfolgen kann. Mit Filter, mit Begrenzungen oder auch mit verknüpften Kriterien, um die richtigen Datensätze zu finden. Selbst rechnen ist damit möglich.

Weitere Befehle gibt es mit Drop und Truncate, wobei Drop eine Tabelle komplett löschen kann oder auch Datenfelder aus einer Tabelle. Truncate leert die Tabelle, löscht also alle Datensätze. Diese Befehle nutzt man aber nicht in Skripte von außerhalb, sondern setzt sie direkt in phpMyAdmin bei der Verwaltung ein.

Themenseiten

Diesen Artikel teilen

Infos zum Artikel

mit count in MySQLi zählenArtikel-Thema: Mit select und count in MySQLi Datensätze zählen
Beschreibung: Mit 📀 count kann man die select-Abfrage in MySQL dazu auffordern, die ✅ gefundenen Datensätze als Gesamtsumme zu zählen.

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel