Vinzenz Mai: MySQL: Datensätze anhand des Timestamp finden

Beitrag lesen

Hallo Lars,

ich habe eine tabelle mit folgendem grobem aufbau

  1. id
  2. name
  3. info
  4. timestamp

ich möchte nun zu jedem namen den letzten eintrag haben, sprich den mit dem jeweils höchsten timestamp.

wie bei MySQL üblich, ist die Lösung von Deiner MySQL-Version abhängig. Wenn Du MySQL 4.1.x verwendest, so ist diese Aufgabe einfach mit einem Subselect lösbar:

  
SELECT  
  name,  
  info  
FROM tabelle t1             -- Vergabe Aliasnamen, da zweimal auf die gleiche  
                            -- Tabelle zugegriffen wird  
WHERE timestamp = (         -- Wähle den Eintrag mit  
  SELECT MAX(t2.timestamp)  -- dem höchsten Timestamp aus  
  FROM tabelle t2           --  
  WHERE t1.name = t2.name   -- zu jedem Namen  
)  

Bitte gib uns daher Deine MySQL-Version an.

Freundliche Grüße

Vinzenz