Maresa P.: SQL: ältesten Datensat abfragen

Hallo,

in einer MySQL Tabelle "tracking" habe ich folgende Spalten:

tracking_user_id (int, id einer anderen tabelle)
tracking_datum (date)

Wie frage ich nun den ältesten (tracking_datum liegt am weitesten zurück) Datensat ab?

SELECT *
FROM tracking
WHERE tracking_datum = ???

Vielen Dank für euere Hilfe

Maresa P.

  1. Hello,

    tracking_user_id (int, id einer anderen tabelle)
    tracking_datum (date)

    Wie frage ich nun den ältesten (tracking_datum liegt am weitesten zurück) Datensat ab?

    SELECT *
    FROM tracking
    WHERE tracking_datum = ???

    SELECT $fields
    FROM tracking
    ORDER by tracking_datum desc
    limit 0,1

    Wenn Du noch Fragen hast dazu, bitte frag ;-)

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Wenn Du noch Fragen hast dazu, bitte frag ;-)

      Vielen Dank, hat funktioniert. Musste ich nur ASC, anstatt DESC formatieren.

      Noch eine Frage:

      Wie kann ich mir ein Datum anders formatiert ausgeben lassen?

      Bspl.:

      SELECT datum_formatieren("d.m.y", tracking_datum) AS datum
      FROM tracking

      rauskommen soll für datum z.b. 1.12.2004

      Wie funktioniert daS?

      Vielen Dank
      Maresa

      1. Hat sich erledigt.

        DATE_FORMAT() hab ich gesucht ;)

      2. Hello,

        Vielen Dank, hat funktioniert. Musste ich nur ASC, anstatt DESC formatieren.

        Oh, peinlich. Frei nach dem Motto: Blamiere dich täglich...

        Noch eine Frage:

        Wie kann ich mir ein Datum anders formatiert ausgeben lassen?

        Bspl.:

        SELECT datum_formatieren("d.m.y", tracking_datum) AS datum
        FROM tracking

        Da gibt es date_format()
        Das ist so vielfältig, dass es hier nicht reinpasst. Schau mal bei http://www.mysql.de/doc/de/Date_and_time_types.html

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    2. yo,

      Wie frage ich nun den ältesten (tracking_datum liegt am weitesten zurück) Datensat ab?

      SELECT $fields
      FROM tracking
      ORDER by tracking_datum desc
      limit 0,1

      wobei hier nicht beachtet wird, ob es datensätze mit gleichen datumseinträgen gibt. wenn das keine rolle spielt, ist das eine gute lösung.

      wenn es eine rolle spielt musst du dir überlegen, ob du alle diese datensätze mit anzeigen willst, was einer unterbfrage, bzw. zwei abfragen gleich kommt. oder aber du willst nur einen von den haben und hast noch ein zusätzliches kriterien, um dieses ausfindig zu machen.

      Ilja

      1. wobei hier nicht beachtet wird, ob es datensätze mit gleichen datumseinträgen gibt. wenn das keine rolle spielt, ist das eine gute lösung.

        Danke! Ich möchte nur das Datum abfragen, speilt dehalb also keine Rolle.

        Viele Grüße

        Maresa

        1. yo,

          Danke! Ich möchte nur das Datum abfragen, speilt dehalb also keine Rolle.

          dann bietet sich auch noch eine weitere möglichkeit an:

          SELECT MIN(tracking_datum) FROM tracking; //für das älteste
          SELECT MAX(tracking_datum) FROM tracking; //für das jüngste

          Ilja