Anzeige:
Ergebnis 1 bis 6 von 6

Thema: MySQL: SELECT Abfrage mit Limit die Gesamtzahl der Datensätze angezeigt bekommen

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.05.2002
    Beiträge
    19

    MySQL: SELECT Abfrage mit Limit die Gesamtzahl der Datensätze angezeigt bekommen

    Hallo zusammen,

    PHPMyAdmin macht ja oft Abfragen in der folgenden Art:
    Code:
    SELECT * FROM table WHERE username LIKE '%string%' LIMIT 0 , 30
    Jetzt kommen als Ergebnis immer die abgefragten Datensätze, klar, aber es kommt auch immer etwas in der Art:

    Code:
    Zeige Datensätze 0 - 29 (43 insgesamt, die Abfrage dauerte 0.0459 sek.)
    Wie kann ich jetzt auf die Datensätze "insgesamt" zugreifen, wenn ich in meiner Abfrage ein Limit gesetzt habe?

    Thx,
    Biko

  2. #2
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    Wie kann ich jetzt auf die Datensätze "insgesamt" zugreifen, wenn ich in meiner Abfrage ein Limit gesetzt habe?
    Gar nicht. Der Sinn von LIMIT ist es ja gerade, dass man nur auf die mit LIMIT spezifizierten Tupel zugreifen kann. Lass das LIMIT einfach weg.

  3. #3
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    LIMIT ist Imho auch kein Bestandteil von SQL Ansi oder ?

    Limit macht auch wirklich nur Sinn wenn man ne limitierte Menge braucht, also nur die ersten 10 von .... Also gut fuer die Performance.

    Fuer "gib mir zuerst dier ersten 10, dann die naechsten 10 ... " ist es nicht geeignet.

    Ciao ...

  4. #4
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Zitat Zitat von RHBaum Beitrag anzeigen
    Fuer "gib mir zuerst dier ersten 10, dann die naechsten 10 ... " ist es nicht geeignet.
    Dafür verwende ich "where rownum between x and y"
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  5. #5
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Das Arbeiten mit limit und offset macht natürlich eigentlich nur bei sortierten Daten Sinn, aber das ist dem OP wohl auch klar. Um ein 'select count' kommt man aber wohl nicht drumrum.
    Das Ziel ist das Ziel.

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.12.2004
    Beiträge
    6
    Du kannst den Select mit limit folgendermaßen ausführen:
    Code:
    SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 10
    und als zweiten select:
    Code:
    SELECT FOUND_ROWS()
    ergibt die tatsächliche Anzahl der Datensätze.

    Außerdem kann man Limit auch mit Offset aufrufen
    Code:
    LIMIT Offset,Anzahl

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •