ungefähre Ergebnis-Anzahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ungefähre Ergebnis-Anzahl

    Hallo!

    Kurze Frage mit hoffentlich kurzer Antwort ;-)

    Gibt es eine Möglichkeit, unter MySQL die Ansage "Ergebnisse 1 - 30 von ungefähr 27.000" in einer einzigen Abfrage zu programmieren? Ich meine speziell den zweiten Teil "von ungefähr 27.000"?

    Oder braucht man eh zwei Abfragen dazu?

    PHP-Code:
    $sql "SELECT a, b, c FROM abc WHERE a LIKE 'A%' LIMIT 0, 30;";
    $sql "SELECT count(*) FROM abc; 
    Danke! Steff
    Man strahlt hier nicht in Wien - denn bald strahlt es aus Temmelin :-|

  • #2
    Ich nehme an, dass du auf Googles "ungefähre Ergebnisse"-Leiste anspielst. Dort nehme ich an, dass das ein auf zwischengespeicherten Daten basierender Wert ist.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Ja, z.B. bei google. Aber das sieht man jetzt immer öfter, daher hatte ich ein wenig den Verdacht (bzw. auch die Hoffnung), dass man den aktuellen Datensatz UND die Gesamtanzahl vielleicht in einer einzigen Abfrage rausbekommt.
      Man strahlt hier nicht in Wien - denn bald strahlt es aus Temmelin :-|

      Kommentar


      • #4
        Was spricht gegen

        SELECT a, b, c, COUNT(*) as irgendein_feldname

        ?

        Kommentar


        • #5
          Original geschrieben von pekka
          Was spricht gegen
          Code:
          SELECT a, b, c, COUNT(*) as irgendein_feldname
          Die folgende Meldung:
          Code:
          #1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
          Aber selbst mit einer GROUP BY-Klausel wäre das relativ sinnlos, da gezwungenermassen alle nicht in der Klausel enthaltenen Attribute Zufallsresultate liefern.
          Gruss
          H2O

          Kommentar


          • #6
            Ups, stimmt natürlich!

            Kommentar


            • #7
              Außerdem ist die anzahl-limitierte Ergebnistabelle (LIMIT 0, 30) ja nur ein kleiner Ausschnitt der gesamten Ergebnistabelle...
              Man strahlt hier nicht in Wien - denn bald strahlt es aus Temmelin :-|

              Kommentar


              • #8
                Jetzt fällts mir wieder ein, da gabs doch was.

                Eine SELECT-Anweisung kann eine LIMIT-Klausel enthalten, die die Anzahl der Datensätze beschränkt, die der Server an den Client zurückgibt. In manchen Fällen kann es wünschenswert sein, zu wissen, wie viele Datensätze die Anweisung ohne LIMIT-Klausel zurückgegeben hätte, ohne dass man die Anweisung hierzu erneut ausführen müsste. Um diese Anzahl zu ermitteln, fügen Sie die Option SQL_CALC_FOUND_ROWS in die SELECT-Anweisung ein und rufen danach FOUND_ROWS() auf:

                http://dev.mysql.com/doc/refman/5.1/...functions.html

                Kommentar


                • #9
                  Danke! Das war's, was ich gesucht habe!
                  Man strahlt hier nicht in Wien - denn bald strahlt es aus Temmelin :-|

                  Kommentar

                  Lädt...
                  X