プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

PAGE句

PAGE句では、戻すレコードのサブセットを指定します。

デフォルトでは、文はすべての結果レコードを返します。 ただし、場合によっては、結果のサブセットのみをリクエストすることが有用です。 これらの場合、PAGE (<offset>, <count>)句を使用して戻される結果レコード数を指定できます:
  • <offset>引数は、スキップするレコード数を決定する整数です。 オフセット0(ゼロ)は最初の結果レコードを返し、オフセット8は9番目を返します。
  • <count>引数は、返すレコードの数を決定する整数です。

<offset>が使用可能なレコードの合計数より大きい場合、空の表が返されることに注意してください。 ただし、<offset> + <count>が使用可能なレコードの合計数よりも大きい場合、可能な数のレコードが返されます。

次の例では、SalesRep属性別にレコードをグループ化して、11-20結果レコードを返します:

DEFINE Reps AS
FROM ResellerState
GROUP BY SalesRep
PAGE (10,10)

PAGEは中間結果に適用されます。PAGE(0, 10)での文FROMには最大10のソース・レコードがあります。

Top-K

Top-K問合せを作成するために、PAGE句とORDER BY句を組み合せて使用できます。 次の例では、売上合計の上位10人の営業担当が戻されます:

DEFINE Reps AS
SELECT SUM(Amount) AS Total
FROM ResellerState
GROUP BY SalesRep
ORDER BY Total DESC
PAGE (0,10)

Percentile

PAGE句はPERCENT修飾子をサポートしています。 PERCENTを指定すると、PAGE(33.3, 0.5) PERCENTの例のように、小数オフセットとサイズが使用できます。 これにより、スキップするデータ・セットおよび返される部分を指定しました。

スキップされたレコード数はround(offset * COUNT / 100)と同じです。

返されるレコードの数はround((offset + size) * COUNT / 100) - round(offset * COUNT / 100)です。

DEFINE ModelYear AS
SELECT SUM(Cost) AS Cost
FROM ProductState
GROUP BY Model, Year
ORDER BY Cost DESC
PAGE(0, 10) PERCENT

PERCENTキーワードでは、オー・バー・ラップしていないオフセットでレコードが繰り返されることはありませんが、指定されたページ・サイズの結果数が同じ問合せで均一でない可能性があります。

たとえば、COUNT = 6の場合は、次のようになります:

PAGE句 結果の動作が次の動作と同じです
PAGE (0, 25) PERCENT PAGE (0, 2)
PAGE (25, 25) PERCENT PAGE (2, 1)
PAGE (50, 25) PERCENT PAGE (3, 2)
PAGE (75, 25) PERCENT PAGE (5, 1)