Joachim: count und limit in einer Abfrage?

Hi,

wie gehe ich vor wenn ich einerseits nur einen Teil einer Tabelle auslesen moechte
    ...
    Limit (n1,n2)
aber auch die komplette Anzahl der DB-Eintraege haben moechte?

count(*) gint mir zwar alles aus, aber in Verbindung mit anderen Feldern muss ich ja Group by benutzen...
Macht man fuer sowas also eher 2 getrennte Abfragen?

Gruesse, Joachim

--
Am Ende wird alles gut.
  1. Hallo,
    1. Welche Datenbank??
    2. Welche Sprache.

    Mit PHP kann man so die Anzahl der Gefunden Einträge herrausfinden:

    $result = mysql_query("SELECT id FROM tabelle WHERE spalte LIKE '%123%'");
    $menge = mysql_num_rows($result);

    1. Hallo Andavos,

      Mit PHP kann man so die Anzahl der Gefunden Einträge herrausfinden:

      $result = mysql_query("SELECT id FROM tabelle WHERE spalte LIKE '%123%'");
      $menge = mysql_num_rows($result);

      Weil MySQL diese Anzahl zurückgibt. Welchen Effekt hat nun LIMIT?
      Es werden ggf. weniger Datensätze zurückgegeben als es insgesamt gibt.
      Der OP möchte jedoch wissen, wieviele Datensätze seine Abfrage _ohne_ LIMIT
      zurückliefern würde.

      Dem OP kann SQL_CALC_FOUND_ROWS weiterhelfen, siehe z.B. http://dev.mysql.com/doc/mysql/en/nutshell-4-0-features.html.

      Freundliche Grüsse,

      Vinzenz

      1. Hi Vinzenz,

        Dem OP kann SQL_CALC_FOUND_ROWS weiterhelfen, siehe z.B. http://dev.mysql.com/doc/mysql/en/nutshell-4-0-features.html.

        Das waere es exakt gewesen wenn mein Provider nicht noch  MySQL 3.23 laufen haette...

        Danke und Gruesse, Joachim

        --
        Am Ende wird alles gut.
        1. Hallo Joachim,

          Dem OP kann SQL_CALC_FOUND_ROWS weiterhelfen, siehe z.B. http://dev.mysql.com/doc/mysql/en/nutshell-4-0-features.html.
          Das waere es exakt gewesen wenn mein Provider nicht noch  MySQL 3.23 laufen haette...

          Schade, kann aber an der MySQL-Lizenzpolitik liegen, vgl. z.B.
          http://www.mysql.com/company/legal/licensing/commercial-license.html,
          insbesondere der Abschnitt "Older Versions".

          Freundliche Grüsse,

          Vinzenz

          1. Hi Vinzenz,

            http://www.mysql.com/company/legal/licensing/commercial-license.html,

            insbesondere der Abschnitt "Older Versions".

            Naja, mein Provider ist ein Bekannter, wenn ich ein bisschen bettele laesst sich vielleicht was ausrichten ;-)

            Gruesse, Joachim

            --
            Am Ende wird alles gut.