クエリ結果の先頭から指定した行セットだけを返したい場合は TOP を使用しますが、 通常は下記のように発行しても問題ありません。
SELECT TOP 15 * FROM tbHoge
処理上、取得件数を変数で指定したい時は、下記の様になると思いますが、エラーとなります。
SELECT TOP @Count * FROM tbHoge
正しくは下記の通り、括弧で変数を括ります。
SELECT TOP (@Count) * FROM tbHoge
SQLServer 2005 以降は括弧で括る事を必要としています。
括弧無しは下位互換性のため、実行可能になってるとのこと。
関連記事:
- グループ抽出した複数行を1行にまとめるSQL
- グループ集計で最小(最大)値を持つ行のみ取得するSQL
- SQLServer2000:インデックス付きビューの作成
- グループ集計で最小(最大)値を持つ行のみ取得するSQL(その2)
- SQLServer2005:新しいインスタンスを作成する
f0e58061152a41404380b305f179497adelicious

