SELECT einschränken

Hi

Habe folgendes Statement:

$abfrageID = odbc_exec($id, „SELECT Nr, Datum, Titel, FORMAT(Datum,‚dd.mm.yyyy‘) as Datum2 FROM News WHERE Aktiv = 1 ORDER BY Datum DESC“);

Ich möchte allerdings nur die letzten 5 Datensätze. Hat jemand einen Tipp?

W98, PHP 4.X, Access-Datenbank

Gruss und Dank
Borsi

SELECT TOP 5 … ORDER BY Datum ASC

OK?

~stefan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Stefan

Habe es jetzt so probiert:
SELECT TOP 5 Nr, Datum, Titel, FORMAT(Datum,‚dd.mm.yyyy‘) as Datum2 FROM News WHERE Aktiv = 1 ORDER BY Datum DESC

Egal welche Zahl ich nach TOP schreibe, ich kriege immer 6 Datensätze (von 9)

???

Gruss
Borsi

Die „TOP n“-Klausel liefert nicht immer exakt n Datensätze - wenn die resultierenden Zeilen nicht eindeutig sind, können es auch ein paar mehr sein!

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard

exakt n
Datensätze - wenn die resultierenden Zeilen nicht eindeutig
sind, können es auch ein paar mehr sein!>
Besten Dank für den Hinweis!

Aber eine passende Alternative zu TOP gibt also nicht?

Gruss
Borsi

Na, zunächst sollte man versuchen, sicherstellen, dass die Datensätze der zugrunde liegenden Abfrage eindeutig sind (also z.B. die Abfragen schachteln, erst eine mit DISTINCT, darauf aufbauend dann eine weitere mit TOP) - dann stellt sich das Problem nicht.

Wenn das aus unerfindlichen Gründen nicht möglich sein sollte, muss man tricksen - z.B. ein Zufalls- oder Zählerfeld an die Abfrage heranbasteln.

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard

Tönt kompliziert, werde mich aber hinter die Bücher machen.
Besten Dank für den Tipp, Reinhard.

Gruss
Borsi