Wie kann man bei einem Select doppelte Dateinamen reduzieren?

4 Antworten

Hallo,

das sollte so gehen:

SELECT dateiname, MAX(uploaddatum)

FROM tabelle

GROUP BY dateiname

Ich weiss jetzt nicht, in welchem Format das Datum vorliegt. Evtl musst Du es vorher noch konvertieren, damit bei der MAX-Funktion etwas Sinnvolles rauskommt.

SELECT dateiname FROM tabelle
ORDER BY uploaddatum DESC LIMIT 1

Damit bekommst Du exakt einen Satz. Falls am letzten uploaddatum mehrere dateien eingegeben wurden, kannst aber nicht mehr unterscheiden, wer zuerst und wer zuletzt eingegeben hat, weil die Datenbank, so wie Du es angegeben hast, das nicht hergibt. Dazu hättest noch die Uhrzeit oder eine automatische lfd-Nummer speichern müssen. Das Datum muss hierbei vom Typ date sein, sonst wirds nichts.

Mit Normalisieren hat das nichts zu tun, das ist ganz was anderes.

na es sei denn in der spalte uploaddatum steht die unix timestamp. generell ist die unix timestamp doch fast immer für solche sachen zu empfehlen. sie ist viel dynamischer einsetzbar und platzsparender.

0
SELECT * FROM (SELECT * FROM tabelle ORDER BY uploaddatum DESC) AS tmp GROUP BY dateiname;

Wahrscheinlich nicht optimal auf die schnelle aber sollte funktionieren.

Was möchtest Du wissen?