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

Как использовать ключевое слово LIMIT в SQL Server 2005?

Я нашел способ выбрать случайные строки из таблицы в этом сообщении. Предлагается использовать следующий запрос:

SELECT * FROM employee ORDER BY RAND() LIMIT 1

Но когда я запускаю этот запрос в MS SQL 2005, я получаю следующее сообщение об ошибке

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'LIMIT'.

Может ли кто-нибудь сказать мне, где я ошибаюсь? Не поддерживает ли MS SQL LIMIT? Если да, то как я могу это сделать?

4b9b3361

Ответ 1

Если вы посмотрите на инструкцию SELECT в электронной документации по SQL Server, вы увидите, что вы можете ограничить набор результатов, используя ключевое слово TOP.

SELECT TOP 1 * FROM employee

Ответ 2

SELECT TOP 1 * FROM Employee ORDER BY newid()

Вы должны использовать newid() для его оценки один раз в строке.

Ответ 3

Я использую этот довольно простой (SQL2005), чтобы ограничить количество возвращаемых строк, которое будет работать со значением, предоставленным параметром хранимой процедуры.

DECLARE @Limit int
SET @Limit = 10
SELECT TOP (@Limit) Col1, Col2 FROM SomeTable