SQL SERVER の ANSI SQL 準拠バージョンはありますSELECT TOP n
か?
質問する
14671 次
2 に答える
18
ANSI/ISO SQL:2003 で導入されたウィンドウ関数:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY age ASC) AS rownum,
person_id,
person_name,
age
FROM person
) AS foo
WHERE rownum <= 3
Microsoft SQL Server は、SQL Server 2005 以降、この構文をサポートしています。 http://msdn.microsoft.com/en-us/library/ms189798(v=sql.90).aspx
ANSI/ISO SQL:2008 では、より単純な の構文が導入されました。これは、Microsoft/Sybase の構文FETCH FIRST
により類似している可能性があります。TOP
SELECT person_id, person_name, age FROM person
FETCH FIRST 3 ROWS ONLY
Microsoft は、この構文をまだサポートしていません。http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rowsも参照してください。
まだ Microsoft SQL Server 2000 を使用している場合は、「ページング」スタイルのクエリの実行について、私がしばらく前に投稿した質問を読む必要があります: Emulate MySQL LIMIT clause in Microsoft SQL Server 2000
于 2013-02-11T00:37:47.883 に答える