jüngste zu erst

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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.

      Comment


      • #4
        Originally posted by h3ll View Post
        In der Datenbank sollte kein Unix-Timestamp abgespeichert werden.
        Warum nicht?

        Comment


        • #5
          Originally posted by devas View Post
          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.

          Comment


          • #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

            Comment


            • #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.

              Comment


              • #8
                Originally posted by h3ll View Post
                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
                Originally posted by h3ll View Post
                , 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]

                Comment

                Working...
                X