letzten Eintrag filtern

maceo

Mitglied
Hi zusammen,

weiß jemand von euch, ob es in MySQL machbar ist, bereits ein Vorasuwahl
zu treffen oder muss ich das alles in PHP machen? Beispiel:

Code:
id   | datum          | link | nr
-----+----------------+------+-----
277  | 20040929122520 |  ... | xyz
554  | 20040929122430 |  ... | xyz
831  | 20040929121514 |  ... | xyz
...

Ich möchte gern nur den letzten (jüngsten) Eintrag von xyz haben.

vielen dank schon mal für die anregungen,
maceo
 
Hey danke,

klappt super :p
Hast du evtl. auch noch eine Idee für
mich, wenn ich jetzt auch noch andere
Einträge wie z.B. abc, klm, ... habe?
Und davon halt jeweils den jüngsten
Eintrag? (Natürlich alles in einer Tabelle)

merci,
maceo
 
Zuletzt bearbeitet:
Hi,

leider verstehe ich nicht ganz was du meinst. :confused:
Wenn du order by datum nimmst, dann bekommst du sie nach Datum sortiert angezeigt, wenn du also order by name (oder was auch immer) nimmst, dann wird die Ausgabe nach name sortiert.
 
Hi,

ich verstehe zwar auch nicht ganz was maceo in seinem 2. Posting meint, aber ich bin trotzdem der Meinung, dass es
Code:
SELECT * FROM tbl ORDER BY datum DESC LIMIT 1;
heißen müsste. Mit ORDER BY datum ASC LIMIT 1 erhält man doch den Satz mit dem ältesten Datum...

@maceo:
Falls Du den zuletzt eingefügten Datensatz suchst:
Code:
SELECT * FROM tbl ORDER BY id DESC LIMIT 1;
Allerdings nur, wenn id auto_incementet wird.

Grüße,
Martin
 
Sorry, dass ich mich da missverständlich ausgedrückt habe.
Ich meinte, dass ich diverse Einträge zu "xyz" habe, ebenso
zu "abc" usw.. Diesen "nr" ist jeweils ein Datum zu geordnet.
Ich meinte, dass ich jeweils den Eintrag (von "abc","xyz", usw.)
suche, die das jüngste Datum, also den letzten Eintrag auf-
weisen. So hätte ich z.B. gerne bei folgender Tabelle...

Code:
id   | datum          | link | nr
-----+----------------+------+-----
277  | 20040929122520 |  ... | xyz  <--
554  | 20040929122430 |  ... | xyz
831  | 20040929121514 |  ... | xyz
498  | 20040930085056 |  ... | abc  <--
315  | 20040929125023 |  ... | xyz
217  | 20040930074500 |  ... | abc
199  | 20040929101519 |  ... | xyz
854  | 20040930063017 |  ... | klm
213  | 20040930070418 |  ... | klm  <--
...

...das Ergebnis:

Code:
277  | 20040929122520 |  ... | xyz
498  | 20040930085056 |  ... | abc
213  | 20040930070418 |  ... | klm

Ich hoffe ihr wisst was ich meine ;)

maceo
 
Ich kenne zwar nicht die Syntax von MySQL, aber nehme mal an, dass es da auch was ähnliches wie

select max(datum) from ... ... group by nr

gibt.
mfg
mschuetzda
 
Hi mschuetzda,

ja, so hab ich es jetzt letztlich auch gemacht.
Allerdings hab ich es nicht geschafft, die Ergebnisse
die ich gern hätte, in eine Abfrage zu packen. Hab aber
nochmal rumgefragt und bisher niemanden gefunden,
der für das Problem nur eine Abfrage gebraucht hätte.

Vielen Dank für's Helfen und ein schönes WE

maceo
 
... Das ist aber nicht exakt was gesucht wird. ...
Danke für die ausführliche Erklärung, gut dass es Foren gibt.
mfg und schönes Wochenende
mschuetzda
 
@Resalb: Vielen Dank für die Tipps! Werd ich wohl heute nochmal
ausprobieren - wobei ich Subqueries wohl knicken kann...

Werd mich an dieser Stelle nochmal melden, wie das Ganze aus-
gegangen ist. Ja, dieses Forum ist toll! :-)

Euch allen eine schöne Woche!

maceo
 
Zurück