2017-03-29 13 views
0

Wie bekomme ich letzte Zeile in SQL Server, wenn wir keine primäre ID und numerische Spalte haben? Zum Beispiel haben wir nur einen Namen und einige andere Spalten in der TabelleSQL Server-Datenbank - letzten Datensatz

+1

definieren "letzte Zeile". – SqlZim

+2

Nun, was macht eine Zeile zur letzten Zeile? - Die Reihenfolge, in der sie sich befinden, wenn Sie 'auswählen *', ist irrelevant und sollte immer ohne eine Bestellklausel als zufällig angesehen werden. –

Antwort

1

Wenn Sie den höchsten Namen bedeuten, alphabetisch,

select max(columnName) from tableName 

Wenn Sie die letzte Zeile der Tabelle hinzugefügt meine, es ist nicht möglich, es sei denn, Sie haben eine Spalte mit dem Datum/Uhrzeit eingefügt oder einen anderen Wert wie eine Identitätsspalte.

0

Ohne Definition der 'letzte Zeile' ...:,

select top (1) * from tableName order by insertedDate DESC 

Wenn nicht für Zukunft:

select top 1 * 
from t 
order by Name desc 
0

Vielleicht, wenn Sie eine Spalte für insertedDate haben könnten Sie etwas tun Wenn Sie keine ID-Spalte verwenden möchten, können Sie möglicherweise eine Standardeinschränkung für das eingefügte Datum hinzufügen, das aus dem Systemdatum ausgewählt wird, sodass Sie beim Einfügen nichts hinzufügen müssen.

Verwandte Themen