Как прочитать последнюю строку с SQL Server - PullRequest
80 голосов
/ 07 октября 2008

Какой самый эффективный способ чтения последней строки в SQL Server?

Таблица индексируется по уникальному ключу - значения «нижнего» ключа представляют последнюю строку.

Ответы [ 16 ]

0 голосов
/ 16 октября 2014

Если у вас нет упорядоченного столбца, вы можете использовать физический идентификатор каждой строки:

SELECT top 1 sys.fn_PhysLocFormatter(%%physloc%%) AS [File:Page:Slot], 
              T.*
FROM MyTable As T
order by sys.fn_PhysLocFormatter(%%physloc%%) DESC
0 голосов
/ 19 июля 2014
SELECT * FROM TABLE WHERE ID = (SELECT MAX(ID) FROM TABLE)
0 голосов
/ 10 января 2014

Если у вас есть реплицированная таблица, вы можете иметь Identity = 1000 в localDatabase и Identity = 2000 в clientDatabase, поэтому, если вы поймаете последний идентификатор, вы всегда можете найти последний из клиента, а не последний из текущего подключенного база данных. Итак, лучший метод, который возвращает последнюю подключенную базу данных:

SELECT IDENT_CURRENT('tablename')
0 голосов
/ 30 октября 2012

Так вы получаете последнюю запись и обновляете поле в Access DB.

ОБНОВЛЕНИЕ compalints SET tkt = addzone &'-'& customer_code &'-'& sn where sn in (select max(sn) from compalints )

0 голосов
/ 01 июля 2011
SELECT * from Employees where [Employee ID] = ALL (SELECT MAX([Employee ID]) from Employees)
0 голосов
/ 21 марта 2011

Я почти уверен, что это:

SELECT last(column_name) FROM table

Потому что я использую что-то похожее:

SELECT last(id) FROM Status
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...