SQL Abfrage
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeit
auslese
code
date
datenbank
datum
folgender code
format
funktionieren
grundgedanke
neuste datum
normalen string
offen stehen
ordern
problem
richtige syntax
setzen
sortierung
verarbeiten
versucht code
-
Ich hänge irgendwie an einer SQL-Abfrage aber scheinbar gelingt mir nicht die richtige Syntax
Also geht darum: Ich habe in einer Tabelle einen normalen String, den ich als Datum verarbeiten will (Format: dd.mm.yyyy).
Auslesen kann ich diesen Wert ja ohne Probleme als Datum folgendermaßen:
SELECT CAST(Wert AS DATE) FROM Datenbank
Nun will ich das neuste Datum dieser Spalte auslesen, also den maximalen Wert.
Dafür wollte ich MAX verwenden aber wie bereits angedeutet, habe ich immer wieder Syntax-Fehler.
Meine Grundgedanke war eigenlich folgender:
SELECT MAX(CAST(Wert AS DATE)) From Datenbank
Das scheint aber nicht zu funktionieren.
Auch über Unterabfragen hab ichs versucht:
SELECT CAST(Wert AS DATE) FROM Datenbank WHERE Wert=(SELECT Max(Wert) FROM Datenbank))
Alles ohne Erfolg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst dir zuerst den maximalen Wert holen und dann Casten:
SELECT CAST(MAX(Wert) AS DATE) FROM datenbank
Beitrag zuletzt geändert: 9.12.2009 8:40:14 von fr3z3r -
oder du hängst einfach ein
an'ORDER BY wert DESC LIMIT 1'
-
Beides wird nicht gehen, da er ein nicht-maschinengerechtes Datum nutzt. YYYYMMDD müsste es aussehen, damit solch eine Sortierung möglich wird.
Am besten für dich wäre als auf TIMESTAMP statt VARCHAR (?) zu setzen, da dir dann viel mehr Möglichkeiten bei der Arbeit mit Daten offen stehen.
Ansonsten, das sollte gehen:
SELECT CAST(Wert AS DATE) AS tstp FROM Datenbank WHERE tstp = MAX(tstp)
Beitrag zuletzt geändert: 9.12.2009 16:02:34 von nikic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage