カテゴリ:

クエリ構文

TOP <n>

ステートメントまたはサブクエリによって返される行の最大数を制限します。

こちらもご参照ください。

LIMIT / FETCH

構文

SELECT
  [ TOP <n> ]
    ...
FROM ...
[ ORDER BY ... ]
[ ... ]

パラメーター

n

結果セットで返す行の最大数。

使用上の注意

  • ORDER BY 句は不要です。ただし、 ORDER BY 句がない場合、結果セット内の結果は必ずしも特定の順序であるとは限らないため、結果は非決定的です。返される結果を制御するには、 ORDER BY 句を使用します。

  • TOP*<n>*およびORDER BYがクエリ内の異なるネストレベルにある場合、結果が予測できない可能性があります。詳細と例については、:ref:`LIMIT/FETCHの使用上の注意<label-limit_cmd_usage_notes>`を参照してください。

  • n は負でない整数定数でなければなりません。

  • TOP n と LIMIT count は同等です。

次の例は、TOP Nの効果を示しています。簡単にするために、これらのクエリではORDER BY句を省略します。出力順序は常に最初のクエリで示されたものと同じであると想定しています。実際のクエリにはORDER BY句を含める必要があります。

SELECT c1 FROM testtable;
+------+
|   C1 |
|------|
|    1 |
|    2 |
|    3 |
|   20 |
|   19 |
|   18 |
|    1 |
|    2 |
|    3 |
|    4 |
| NULL |
|   30 |
| NULL |
+------+
SELECT TOP 4 c1 FROM testtable;
+----+
| C1 |
|----|
|  1 |
|  2 |
|  3 |
| 20 |
+----+