Abfrage der neuesten 3 Einträge nach Spalte Y sortiert
am 13.09.2007 02:03:30 von mcclane
Hallo allerseits!
Mich beschäftigt gerade eine eigentlich simple SELECT-Ausgabe, aber
irgendetwas fehlt mir.
Ich möchte die neuesten 3 Einträge in einer Tabelle sortiert nach einer
bestimmten Spalte ausgeben.
Also angenommen ich habe die Tabelle "Kunden" mit den beiden Spalten
ID | Name
und diese Tabelle hat 1000 Einträge. Jetzt möchte ich aber nur die
neuesten 3 Einträge darstellen, sortiert nach dem Namen.
Führe ich eine Abfrage
SELECT * FROM `Kunden` ORDER BY name ASC, id DESC LIMIT 3
komme ich nicht zum gewünschten Ergebnis, auch nicht wenn ich
name ASC, id DESC umtausche.
Wie ist das machbar?
Vielen Dank und Grüße aus Berlin,
Herbert
Re: Abfrage der neuesten 3 Einträge nach Spalte Y sortiert
am 16.09.2007 22:50:37 von mcclane
Andreas Kretschmer schrieb:
> test=# select * from (select * from foo order by id desc limit 3) bar order by 2;
Vielen Dank, funktioniert super! Aus reiner Neugier interessiert es mich
jetzt aber noch, was der alias "bar" in diesem Fall tut, bzw. wofür man
ihn einsetzen kann!
MfG
Herbert Bölter
Re: Abfrage der neuesten 3 Einträge nach Spalte Y sortiert
am 16.09.2007 22:56:36 von Sebastian Suchanek
Thus spoke Herbert Bölter:
> Andreas Kretschmer schrieb:
>> test=# select * from (select * from foo order by id desc
>> limit 3) bar order by 2;
>
> Vielen Dank, funktioniert super! Aus reiner Neugier
> interessiert es mich jetzt aber noch, was der alias "bar"
> in diesem Fall tut,
Nichts bestimmtes. SQL (MySQL?) erwartet bei einem Subselect nur
zwingend einen Alias.
> bzw. wofür man ihn einsetzen kann!
Man könnte mit seiner Hilfe gezielt Spalten des Subselectes
referenzieren.
Tschüs,
Sebastian
--
http://www.baumaschinen-modelle.net
http://www.schwerlast-rhein-main.de