Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism letzter Datensatz einer Tabelle (https://www.delphipraxis.net/57742-letzter-datensatz-einer-tabelle.html)

eddie11 25. Nov 2005 18:55

Datenbank: SQL • Zugriff über: ADO

letzter Datensatz einer Tabelle
 
Hi,

wie krieg ich den letzten Datensatz aus einer Tabelle raus? Ich habe eine Tabelle mit mehr als 100000 Sätzen, die ganze Tabelle durchzulesn und dann den letzten zu ermitteln dauert mir zu lange. Ich möchte einen Sql-Befehl benutzen, der mir nur einen (den letzten) Datensatz zurückgibt.

Gibt es sowas wie z.B
SQL-Code:
SELECT TOP 1 * From Tabelle WHERE Nummer=letzter SORTBY Nummer
?

Danke
Eddie

GeraldK 25. Nov 2005 19:08

Re: letzter Datensatz einer Tabelle
 
Hi,

also da kann ich mehrere Wege vorschlagen.

1:) Query.open
Query.last;

oder die Sortierreihenfolge umdrehen, und auf 1. Record zugreifen:
2:) Query.open
Query.first

Die Sortierreihenfolge kannst Du wie folgt ändern:
SELECT * from ...ascending (ASC) oder descending (DESC).

Viel Erfolg !

Gerald

faux 25. Nov 2005 19:11

Re: letzter Datensatz einer Tabelle
 
Hallo!

Wieso nicht
SQL-Code:
ORDER BY Nummer DESC
btw: es heißt ORDER BY - nicht SORTBY ;)

Grüße
Faux

NACHTRAG:
Zitat:

Zitat von GeraldK
Die Sortierreihenfolge kannst Du wie folgt ändern:
SELECT * from ...ascending (ASC) oder descending (DESC).

Sorry, hab ich überlesen. :oops:

eddie11 25. Nov 2005 19:33

Re: letzter Datensatz einer Tabelle
 
danke - auf ASC oder DESC hätte ich selbst kommen können...., aber manchmal ist einfach eben schwer :-)

(habe früher mit einem anderen System gearbeitet, da hiess es SORTBY)

Jelly 25. Nov 2005 22:51

Re: letzter Datensatz einer Tabelle
 
Noch schneller, da Du ja vermutlich den SQL Server nutzt:
SQL-Code:
dbcc checkident (Tabelle)
Allerdings nur, wenn du einen automatischen Primärschlüssel verwendest (identity)

Bei allen anderen Varianten wird eine Query ausgeführt, die in irgendeiner Form deine 100.000 Datensätze abarbeiten musst. Und das nur um den letzten zu finden. :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz