(select top 1 percent A from B order by newid())
я хочу, чтобы получить случайную запись из таблицы BНеверный синтаксис рядом с ключевым словом 'order'. SQL
(select top 1 percent A from B order by newid())
я хочу, чтобы получить случайную запись из таблицы BНеверный синтаксис рядом с ключевым словом 'order'. SQL
USE, как это ...
select * from B where A in
(select top 1 percent A from B order by newid())
ИЛИ
select top 1 percent A from B order by newid()
И даст вам случайные на строки каждый раз. ...
EDIT:
Но нет никакого смысла иметь 'in'. 'select top 1 percent * from B order by newid()' вполне может быть всем, что необходимо. –
@GopeshSharma: утверждение * без * IN будет быстрее. Поэтому с точки зрения производительности это не ** правильный подход. –
@a_horse_with_no_name: Да, на самом деле, без IN будет быстрее, см. Мой Edit –
Какая СУБД вы используете? Oracle? Postgres? И является ли это полным утверждением или частью другого? –
@a_horse_with_no_name Я бы предпочел SQL Server с помощью 'NEWID()' и 'TOP' – Kermit
Я использую SQL-сервер, и я хочу запустить запрос с помощью скобок. – enigma