Peter Thomassen: MySQL: SELECT * FROM $table LIMIT $begin, END?

Hi,
gibt es bei MySQL eine Möglichkeit, aus einer Datenbank Daten-
sätze auszulesen, und zwar von $begin (meinswegen 30) bis zum
Ende der Tabelle?

Danke für eure Hilfe,
Peter

  1. Versuch es mal mit:

    SELECT * FROM $table LIMIT $begin

    Das ist ohne End...

    1. Versuch es mal mit:

      SELECT * FROM $table LIMIT $begin

      Böse Falle! Das selektiert soviele Einträge vom Start an, wie als Zahl in $begin stehen.

      Die Syntax zum mySQL-SELECT-Befehl lautet (verkürzt):
      SELECT
          select_expression,...
          [FROM table_references
              [LIMIT [offset,] rows]  ]

      LIMIT mit einem Parameter selektiert eine Anzahl, LIMIT mit zwei Parametern selektiert eine Anzahl ab einem bestimmten Offset, wobei der Offset zur Wahrung der Lesbarkeit als erstes kommt.

      - Sven Rautenberg

  2. Hi,
    gibt es bei MySQL eine Möglichkeit, aus einer Datenbank Daten-
    sätze auszulesen, und zwar von $begin (meinswegen 30) bis zum
    Ende der Tabelle?

    Du kennst dieses hier?
    SELECT * from table LIMIT ab_eintrag_nummer, zahl_der_eintraege;

    Was hindert dich, eine Million Einträge ausgeben zu lassen? Soviele sind vermutlich in deiner Datenbank garnicht drin.

    - Sven Rautenberg

    1. Hi,

      Du kennst dieses hier?
      SELECT * from table LIMIT ab_eintrag_nummer, zahl_der_eintraege;

      Ja, kenne ich, allerdings müsste ich erst die auslesen, wieviel
      Datensätze ich habe, da sich die Zahl ständig ändert. Naja, ich
      wollte eben die Abfrage umgehen.

      Was hindert dich, eine Million Einträge ausgeben zu lassen? Soviele sind vermutlich in deiner Datenbank garnicht drin.

      Was nicht ist, kann ja noch werden ;o)

      Bye,
      Peter

      1. Hallo!

        Ja, kenne ich, allerdings müsste ich erst die auslesen, wieviel
        Datensätze ich habe, da sich die Zahl ständig ändert. Naja, ich
        wollte eben die Abfrage umgehen.

        Diese Abfrage brauchst Du nicht, Du schreibst einfach als Anzahl 1.000.000. Hast Du soviele Datensätze?

        SELECT * FROM tabelle LIMIT 10, 100000;

        Wenn Du eben nur 20.000 Datensätze hast, dann werden eben nur die 19.990 Datensätze genommen. die 100000 ist ja nur eine obere Grenze.

        MfG, André Laugks