• ログイン

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

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

問題を作成する

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

ネストされた集計を使用すると、 NRQLクエリを完了し、そのクエリの結果を使用して追加の計算を行うことができます。ネストされた集約は、サブクエリが外部クエリのFROM句にあるSQLサブクエリまたはサブセレクトのクラスと同様のNRQL機能を提供します。

ヒント

この機能は、 SELECTおよびWHERE句でサブクエリを実行できるサブクエリ機能とは異なります。

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

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

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

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

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

すべてのNRQLクエリは、 SELECTステートメントまたはFROM句で始まる必要があります。ネストされた集計クエリは、 SELECTステートメントとFROM句の両方を使用し、それらを1つまたは複数の括弧内に含まれるクエリに適用します。

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

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

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

  • 入れ子になったクエリは2レベル以上になることもあります。
  • TIMESERIESFACETはどちらもネストされたクエリの任意の部分に適用でき、すべてのレベルで同一である必要はありません。
  • SINCEUNTIL 、およびCOMPARE WITH句はクエリ全体に適用され、最も外側のレベルでのみ使用できます。

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

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

Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.