Ankündigung

Einklappen
Keine Ankündigung bisher.

MariaDB : Letzten X Zeilen aus Tabelle auslesen ..

Einklappen

Neue Werbung 2019

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

  • MariaDB : Letzten X Zeilen aus Tabelle auslesen ..

    Hallo,
    ich brauche eine SQL Statement ,dass mir die mir die letzten X Datensätze aus meiner Tabelle ausgibt. Beispiel:
    Ich habe 10 Datensätze in der DB : Ausgabe wären dann die letzten 5 . Am besten Aufsteigend sortiert (nutze PHPmyAdmin).
    Habe schon einiges probiert aber es ist irgendwie alles entweder sehr langsam oder funktioniert nicht .
    Auch bei Stackoverflow habe ich nichts wirklich sinnvolles für MariaDB (mySQL) gefunden.
    Ich bin für jeden Ansatz dankbar und wünsche allen einen guten Start in die Woche.

  • #2
    Zeig doch mal
    - die Tabellenstruktur
    - Beispieldaten
    - mindestens einen deiner eigenen Versuche

    Im Grund brauchst du nur ORDER BY (DESC) und LIMIT...
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Ich habe 10 Datensätze in der DB : Ausgabe wären dann die letzten 5
      Absteigend sortieren (DESC) und LIMIT. Fertig.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Erster : Ansatz
        Code:
         SELECT * FROM tabelle ORDER BY id DESC LIMIT X
        Nimmt die letzten X Einträge DESC sortiert.

        Kommentar


        • #5
          Ah, du willst sowas hier... Die höchsten/größten 5, aber dann aufsteigend sortiert.: https://php-de.github.io/jumpto/sql-...#div-kriterien
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von hausl Beitrag anzeigen
            Ah, du willst sowas hier... Die höchsten/größten 5, aber dann aufsteigend sortiert.: https://php-de.github.io/jumpto/sql-...#div-kriterien
            Alles danke dir . Am Ende kommt diese (funktionierende) SQL - QUERY raus
            Code:
            SELECT * FROM (SELECT * FROM Tabelle ORDER BY ID DESC LIMIT X) AS sub ORDER BY sub.id ASC
            Falls es jemanden interessiert und nochmal danke an alle.

            Kommentar


            • #7
              Naja, sowas setzt voraus, dass die ID chronologisch aufsteigend Werte beinhaltet.
              Kann problematisch sein. "Die letzten" definieren sich streng genommen anhand Datum, Uhrzeit, ..
              siehe Thread nebenan

              Kommentar


              • #8
                Mir fehlt hier generell die Definition von "letzten X Zeilen". Letzten in welcher Reihenfolge? Chronologisch? Nach Inhalt? Eine ID eignet sich ja nicht wirklich zum Sortieren, da sie weder chronologisch ist noch einen Bezug zum Inhalt hat. Man könnte genausogut auch nach einer Zufallszahl sortieren.

                Kommentar


                • #9
                  Siehe unteren Beitrag.

                  Kommentar


                  • #10
                    Zitat von register123 Beitrag anzeigen

                    Ich gebe euch natürlich recht , aber in meiner Anwendung hat es nun mal Sinn gemacht nach Id zu sortieren (habe keine Timestamps) . Aber wenn man sortieren möchte , muss es ja nach irgendeinem Kriterium sein und die Prozedur ist ja die gleiche nur halt das Sortierungskriterium ist anders aber die Query ist nur leicht verändert .

                    Kommentar

                    Lädt...
                    X