Подтвердить что ты не робот

Выберите верхнюю и последнюю строки в таблице (SQL-сервер)

Я использую этот оператор в SQLServer, и он отлично работает:

SELECT TOP 1000 *      
FROM [SomeTable]

Он дает мне записи TOP 1000 из SomeTable, теперь какое ключевое слово следует использовать вместо Top, если мне нужны записи Bottom 1000 из таблицы?

4b9b3361

Ответ 1

Чтобы получить нижнюю 1000, вы захотите заказать ее по столбцу в порядке убывания и по-прежнему возьмите верхнюю 1000.

SELECT TOP 1000 *
FROM [SomeTable]
ORDER BY MySortColumn DESC

Если вы хотите, чтобы он был в том же порядке, что и раньше, вы можете использовать для него общее табличное выражение:

;WITH CTE AS (
    SELECT TOP 1000 *
    FROM [SomeTable]
    ORDER BY MySortColumn DESC
)

SELECT * 
FROM CTE
ORDER BY MySortColumn

Ответ 2

Вы должны сортировать свои данные в соответствии с вашими потребностями (например, в обратном порядке) и использовать select top query