jüngste zu erst

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

  • jüngste zu erst

    Hallo,

    damit bekomme ich den zuerst eingetragen Datensatz einer Gruppe.

    PHP-Code:
    select from Tabelle where Spalte1='$t'  GROUP BY Spalte2 
    Ich benötige aber den letzt eingetragen Datensatz. Ich habe auch eine Spalte die den Unix-Timestamp beinhaltet.

    Ich müste halt
    PHP-Code:
    ORDER BY datum DESC 
    verknüpfen.

    Kann mir jemand sagen wie ich das lösen kann?

  • #2
    MySQL :: MySQL 5.0 Reference Manual :: 3.6.4 The Rows Holding the Group-wise Maximum of a Certain Column
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      In der Datenbank sollte kein Unix-Timestamp abgespeichert werden. MySQL bietet für den Zweck den DATETIME- bzw. TIMESTAMP-Datentyp an. Und mit denen kann auch wunderbar einfach gearbeitet werden.

      Kommentar


      • #4
        Zitat von h3ll Beitrag anzeigen
        In der Datenbank sollte kein Unix-Timestamp abgespeichert werden.
        Warum nicht?

        Kommentar


        • #5
          Zitat von devas Beitrag anzeigen
          Warum nicht?
          Weil du dann um die Datenbank herum und nicht mit der Datenbank arbeitest. Außerdem kannst du dann nicht mit den haufenweise von MySQL zur Verfügung gestellten Datum-/Zeitfunktionen arbeiten, außer du wandelst jedesmal den Unix-Timestamp in einen richtigen Timestamp um, was aber je nach Abfrage ordentlich Ressourcen kosten wird.

          Kommentar


          • #6
            PHP-Code:
            select Spalte1Spalte2max(datumfrom Tabelle where Spalte1='$t'  GROUP BY Spalte2 
            Damit wird jetzt immer der jüngste Datensatz einer Gruppe ausgegeben.

            Danke für die Hinweise

            Kommentar


            • #7
              Im GROUP BY müssen alle Spalten stehen, die auch im SELECT nicht innerhalb einer Aggregatfunktion (MAX, SUM, etc.) stehen, sonst besteht die Möglichkeit, dass du ein nicht eindeutiges Ergebnis bekommst. MySQL ist da ziemlich nachlässig. Jedes andere ordentliche Datenbanksystem hätte dir sofort einen Fehler geworfen.

              Kommentar


              • #8
                Zitat von h3ll Beitrag anzeigen
                Im GROUP BY müssen alle Spalten stehen, die auch im SELECT nicht innerhalb einer Aggregatfunktion (MAX, SUM, etc.) stehen
                und nicht (auch nicht transitiv) von anderen Spalten abhängig sind
                Zitat von h3ll Beitrag anzeigen
                , sonst besteht die Möglichkeit, dass du ein nicht eindeutiges Ergebnis bekommst. MySQL ist da ziemlich nachlässig. Jedes andere ordentliche Datenbanksystem hätte dir sofort einen Fehler geworfen.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar

                Lädt...
                X