• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Nested aggregation: 1つのクエリで順序付けられた計算を行う

入れ子になった集約では、 NRQL クエリ を完了してから、そのクエリの結果を使って追加の計算を行うことができます。入れ子になった集約は、SQL のサブクエリやサブセレクトのクラスに似た NRQL の機能を提供します。サブクエリは、外側のクエリの FROM 節にあります。

複雑な質問にも1つのクエリで回答

ネストされた集約は、複数のクエリを構築することなく、このような質問に答えるのに役立ちます。

  • 自分のアプリケーションの1分あたりのリクエスト数をカウントして、過去1時間の1分あたりの最大リクエスト数を取得するにはどうしたらいいですか?
  • すべてのサーバーやホストの平均CPU使用率を計算して、使用率が90%以上のものだけをリストアップするにはどうしたらいいですか?
  • すべてのユーザーセッションから、どのくらいの割合ですぐにバウンドしたかを把握するにはどうしたらいいでしょうか?

アプリのエラーレートクエリで入れ子型集約を使ってパーセンテージデータなどを取得する例は、こちらのYouTube動画をご覧ください(約3分10秒)。

ネストした集計クエリの構造と句

すべての NRQL クエリ は、 SELECT ステートメントまたは FROM で始まる必要があります。入れ子になった集約クエリは、 SELECT ステートメントと FROM 節の両方を使用し、それらをクエリ全体または括弧内に含まれるクエリに適用します。

適切にフォーマットされた完全な入れ子の集約クエリは、以下のようになります。

SELECT function(attribute)
FROM (
SELECT function(attribute)
FROM dataType
WHERE attribute
TIMESERIES integer units
)

クエリと句の動作について、他にもいくつかご紹介します。

  • 入れ子になったクエリは2レベル以上になることもあります。
  • TIMESERIESFACET は、入れ子になったクエリのどの部分にも適用することができ、すべてのレベルで同一である必要はありません。
  • SINCEUNTILCOMPARE WITH 句は、クエリ全体に適用され、一番外側のレベルでのみ使用できます。

ネストされた集計クエリの例

ここでは、ネストしたクエリの例を紹介します。

Copyright © 2022 New Relic Inc.