Gesamtzahl aller Ergebnisse trotz LIMIT

MySQL, PostgreSQL, SQLite
bobbyx
Posts: 15
Joined: 2002-08-21 08:40

Gesamtzahl aller Ergebnisse trotz LIMIT

Post by bobbyx » 2003-08-06 17:22

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

olaf.dietsche
Posts: 401
Joined: 2002-12-19 02:06
Location: Siegburg

Re: Gesamtzahl aller Ergebnisse trotz LIMIT

Post by olaf.dietsche » 2003-08-06 21:30

Keine Ahnung, ob ich dich richtig verstanden habe. Mit

Code: Select all

select count(*) from meintabelle
bekommst du die Anzahl der Zeilen.

Vielleicht hilft auch das Mysql Tutorial weiter http://www.mysql.com/doc/en/Counting_rows.html

bobbyx
Posts: 15
Joined: 2002-08-21 08:40

Re: Gesamtzahl aller Ergebnisse trotz LIMIT

Post by bobbyx » 2003-08-08 10:54

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

simcen
Posts: 333
Joined: 2003-02-12 14:35
Location: Bern, Schweiz

Re: Gesamtzahl aller Ergebnisse trotz LIMIT

Post by simcen » 2003-08-08 11:03

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

root4fun
Posts: 16
Joined: 2002-07-13 23:29
Location: Karlsruhe

Re: Gesamtzahl aller Ergebnisse trotz LIMIT

Post by root4fun » 2003-08-08 19:55

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

bobbyx
Posts: 15
Joined: 2002-08-21 08:40

Re: Gesamtzahl aller Ergebnisse trotz LIMIT

Post by bobbyx » 2003-08-09 14:09

Hi,

genau das wars was ich suchte.....zum Glück habe ich vor kurzem auf MySQL 4.0.14 geupdatet :lol:

THX,

Bobby