2009-11-15 9 views
8

SQL ServerのMySQL "LIMIT"句と同等の構文は何ですか?私は私の結果のページングをするためにそれを使用したいと思います。最も近いものは、TOPであるSQL Serverのmysql "LIMIT"句と同等の構文

+0

どのバージョンのSQL Server? – Antony

+0

も参照してください。http://stackoverflow.com/questions/216673/emulate-mysql-limit-clause-in-microsoft-sql-server-2000 –

+0

[Microsoft SQL ServerでLIMITを実装する方法]の可能な複製(http: //stackoverflow.com/questions/603724/how-to-implement-limit-with-microsoft-sql-server) – e4c5

答えて

12

(10にrecords5を表示する):

Select top 5 * from tablename 

あなたが範囲(行5から10)を取得することができます

SELECT * FROM (
    SELECT TOP n * FROM (
    SELECT TOP z columns  -- (z=n+skip) 
    FROM tablename 
    ORDER BY key ASC 
) 
) 
4

をそれに最も近いSELECT TOP Xですが、それはLIMIT Xと等価です。

LIMIT X, Yについては、(私が知る限り)直接的なMS-SQLの同等物はありません。しかしクリスチャンの解決策は良いものです。

MSSQL2005(以降)に有用であるかもしれないROW_NUMBER構文を持っています
http://msdn.microsoft.com/en-us/library/ms186734%28SQL.90%29.aspx

+7

私は本当にMicrosoftがSQL Serverにこの機能を追加しないのはなぜだろうか? – dvdmn

0

CONT =所望の数が結果 制限を取得し始めているまで=どのように多くの変数

SELECT TOP(見たいです制限)cve_persona 人物から WHERE(cve_persona> cont)