MySQL Zeilen zählen
Patrick
- datenbank
0 Siechfred0 dedlfix
0 King^Lully
Hallo Leute,
ich möchte eine Abfrage ausführen und dann die Ergebnisse Seitenweise Anzeigen, z.B. <<zurück 1 2 3 4 weiter >>
Dazu habe ich momentan 2 Befehle:
SELECT DISTINCT ,(count(*)) FROM [...] WHERE[...]
Fürs ermitteln der Gesamtzahl der Einträge
SELECT * FROM [...] WHERE[...] LIMIT untergrenze, obergrenze
Fürs Ergebnis, was angezeigt wird (mit LIMIT)
Leider muß der selbe Befehl 2 mal ausgeführt werden.
Kann man das alles in einem Befehl unterbringen?
Oder ist count(*) weniger Performancelastig?
Gruß
Der Patrick
ich möchte eine Abfrage ausführen und dann die Ergebnisse Seitenweise Anzeigen, z.B. <<zurück 1 2 3 4 weiter >>
Hilft dir http://www.php-faq.de/q/q-mysql-seitenweise.html?
Siechfred
echo $begrüßung;
Leider muß der selbe Befehl 2 mal ausgeführt werden.
Fürs ermitteln der Gesamtzahl der Einträge
Fürs Ergebnis, was angezeigt wird (mit LIMIT)
Kann man das alles in einem Befehl unterbringen?
Sieh dir [linkhttp://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows@title=SQL_CALC_FOUND_ROWS und FOUND_ROWS()] an.
Oder ist count(*) weniger Performancelastig?
Ein SELECT COUNT(*) FROM ... ohne einschränkende WHERE-Klausel schaut einfach nur in den Metadaten der Tabelle nach der Anzahl. Es zählt also nicht wirklich. Mit WHERE muss allerdings gezählt werden.
echo "$verabschiedung $name";
ich möchte eine Abfrage ausführen und dann die Ergebnisse Seitenweise Anzeigen, z.B. <<zurück 1 2 3 4 weiter >>
Dazu habe ich momentan 2 Befehle:
SELECT DISTINCT ,(count(*)) FROM [...] WHERE[...]
Fürs ermitteln der Gesamtzahl der Einträge
Was macht das DISTINCT da?
SELECT * FROM [...] WHERE[...] LIMIT untergrenze, obergrenze
Fürs Ergebnis, was angezeigt wird (mit LIMIT)Leider muß der selbe Befehl 2 mal ausgeführt werden.
Inwiefern?
Kann man das alles in einem Befehl unterbringen?
Oder ist count(*) weniger Performancelastig?
COUNT(*) ist gut, willst Du zwei Abfragen vermeiden? Wüsste nicht wie das gehen soll.