Ограничить запись как ROWNUM в MS SQL Server 2000 - PullRequest
2 голосов
/ 09 сентября 2011

Я хочу знать, как ограничить записи в SQL Server 2000. В Oracle я уже написал такой запрос SQL.

<cfquery name="myQuery" datasource="myDSN">
    SELECT * from tbl where rownum <= 10
</cfquery>

В SQL Server 2000 я не могу ограничить записи в запросе SQL. Я знаю, что могу использовать "maxrows" из cfquery , но я не хочу, чтобы CF сначала сканировал всю таблицу, а потом ограничивал ее.

Любое предложение будет оценено.

Ответы [ 2 ]

4 голосов
/ 09 сентября 2011

Для SQL Server :

SELECT TOP(10) * 
  FROM tbl

Для MySQL (также PostgreSQL , SQLite ):

SELECT * 
 FROM tbl
LIMIT 10
1 голос
/ 09 сентября 2011

В SQL Server вы можете использовать команду Set Rowcount, чтобы ограничить количество возвращаемых строк

   SET ROWCOUNT 10
   SELECT * FROM TBL

Просто не забудьте потом выключить его, используя

SET ROWCOUNT 0
...