Page 1 of 1
Gesamtzahl aller Ergebnisse trotz LIMIT
Posted: 2003-08-06 17:22
by bobbyx
Hi,
ich habe ein kleines Problem:
Wenn ich einen SELECT mit LIMIT 0,20 absetze, bekomme ich ja die ersten 20 Ergebnisse zurückgeliefert. Die Abfrage mit mysql_num_rows bringt natürlich auch nur 20 als Ergebnis zurück.
Wenn ich den gleichen SELECT ohne LIMIT absetze bring er 234 Ergebnisse.
Ich suche nun eine Möglichkeit die Gesamtanzahl der Ergbnisse eines SELECT's mit LIMIT herauszufinden, ohne einen erneuten Count ohne Limit abzusetzten. Es sollte also alles mit einem SELECT abgedeckt werden. Gibts es da eine Möglichkeit???
Greetz,
Bobby
Re: Gesamtzahl aller Ergebnisse trotz LIMIT
Posted: 2003-08-06 21:30
by olaf.dietsche
Keine Ahnung, ob ich dich richtig verstanden habe. Mit
bekommst du die Anzahl der Zeilen.
Vielleicht hilft auch das Mysql Tutorial weiter
http://www.mysql.com/doc/en/Counting_rows.html
Re: Gesamtzahl aller Ergebnisse trotz LIMIT
Posted: 2003-08-08 10:54
by bobbyx
da hab ich schon alles durchsucht, leider ohne Erfolg.
Mit dem Couint bekomme ich die Ergebniszeilen, das ist schon richtig. aber nicht wenn ich ein LIMIT angebe, denn dann bekomme ich die Anzahl des Limits zurück (außer es sind weniger).
Wenn ich eigentlich bsp. 250 Zeilen zurückbekomme und ich setzte ein Limit von 20 möchte ich es irgendwie hinbekommen, dass ich mit einem SELECT mit Limit einmal die im Limit angegeben Zeilen bekomme und die Gesamtanzahl von 250
Greetz,
Bobby
Re: Gesamtzahl aller Ergebnisse trotz LIMIT
Posted: 2003-08-08 11:03
by simcen
Versuchmal:
SELECT count(SELECT * FROM tabelle) as Anzahl LIMIT 20
Keine Ahnung obs funktioniert, ich weiss aber, dass MySQL btw. Standart-SQL verschachtelte Abfragen unterstützen.
Greez
Re: Gesamtzahl aller Ergebnisse trotz LIMIT
Posted: 2003-08-08 19:55
by root4fun
Hi BobbyX,
unter MySQL 4.x sollte lt. Doku folgendes klappen:
Code: Select all
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
siehe:
http://www.mysql.com/doc/en/Miscellaneo ... tions.html
unter MySQL 3.x musst du IMHO zwei Abfragen ausführen:
1. select OHNE limit -> Anzahl der Datensätze
2. select MIT limit -> begrenzte Zahl der Datensätze
Viel Erfolg
root4fun
Re: Gesamtzahl aller Ergebnisse trotz LIMIT
Posted: 2003-08-09 14:09
by bobbyx
Hi,
genau das wars was ich suchte.....zum Glück habe ich vor kurzem auf MySQL 4.0.14 geupdatet :lol:
THX,
Bobby