Eintrag mit dem letzten Datum auswählen
Phil Z.
- datenbank
Hallo.
Ich will in einer Tabelle einige Datensätze wo Daten(mehrzahl Datum) drinstehen haben.
1. Frage: Was nehm ich? date()?
Ich will aus der Tabelle dann das letzte Datum auswählen und anzeigen, wie mach ich das?
Versuch:
"SELECT name FROM tabelle WHERE datum=AKTUELLSTES
Beispiel
es gibt die Daten:
07.06.1990
16.01.2007
14.12.2006
15.01.2007
Er soll nun das aktuellste Datum auswählen also 16.01.2007.
Ich weiß einfach nicht wie ich das realisieren soll.
Hoffe ihr könnt mir helfen!
mfg
Phil Z.
"SELECT name FROM tabelle WHERE datum=AKTUELLSTES
SELECT
name
FROM
tabelle
ORDER BY
datum DESC
LIMIT
0,
1
Geht das?
Geht das?
hab noch keien daten eingetragen da ich nicht weiß in welchem "Format" ich die Daten eintragen soll. date()?
mfg
Phil Z.
hab noch keien daten eingetragen da ich nicht weiß in welchem "Format" ich die Daten eintragen soll. date()?
ähm... Also ich weiss ja nicht wirklich ob Du mit "Format" den Datentyp in Deiner Datenbank meinst unter welchem die Daten eingetragen werden sollen, aber falls ja hast nicht viel möglichkeiten.
Wenn nur das Datum willst, dann wählst den Typ "DATE".
Wenn das Datum inklusive der Zeit willst, dann wählst den Typ "DATETIME".
Und die Ausgabe sortierst einfach mit DESC (= abwärts sortiert... ergo aktuellstes Datum zuoberst). Die Abfrage sieht etwa so aus
SELECT
Datum,
xyz
FROM
WieAuchImmerDeineTabelleHeisst
ORDER BY
Datum DESC;
greetz
ähm... Also ich weiss ja nicht wirklich ob Du mit "Format" den Datentyp in Deiner Datenbank meinst unter welchem die Daten eingetragen werden sollen, aber falls ja hast nicht viel möglichkeiten.
Nein ich meinte folgendes:
Mein Skript muss die Daten ja auch eintragen mit INSERT
wie soll ich das Datum am besten bestimme?
mktime()?, date()?
oder wie»»
SELECT
Datum,
xyz
FROM
WieAuchImmerDeineTabelleHeisst
ORDER BY
Datum DESC;
Danke!
mfg
Phil Z.
Mein Skript muss die Daten ja auch eintragen mit INSERT
wie soll ich das Datum am besten bestimme?
M.E. solltest du das der Datenbank überlassen. Ansonsten suche dir einen Datumstypen aus, der deinen Vorstellungen entspricht und füge die Daten den für diesen Typ geltenden Konventionen entsprechend ein.
Siechfred
yo,
falls dein dbms unterabfragen kann, bei mysql ab 4.1, kannst du es so machen:
SELECT t1.spalte1, t1.spalte2.....
FROM tabellen_name t1
WHERE t1.datum = (SELECT MAX(datum) FROM tabelle_name t2)
wenn nicht mach einfach zwei abfragen draus.
Ilja