すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ネストされたサブクエリ

最終更新日:Jun 05, 2026

ネストされたサブクエリは、SELECT ステートメントの中に別の SELECT ステートメントを埋め込むことで、集約結果に対する集約など、複数ステップの分析を可能にします。

構文

外側の SELECT の FROM 句でサブクエリを囲みます。

* | SELECT key FROM (sub_query)
重要
  • サブクエリをかっこ () で囲んでください。

  • 現在の Logstore をクエリするには、サブクエリに FROM log 句を含める必要があります。

例 1

メソッド別にリクエスト数をカウントし、最小のカウントを求めます。

  • クエリ文

    * |
    SELECT
     min(PV)
    FROM  (
        SELECT
          count(1) as PV
        FROM      log
        GROUP BY
          request_method
      )
  • クエリと分析の結果Nested subquery result

例 2

現在の 1 時間のページビュー (PV) と、昨日の同じ時間の PV を比較します。クエリ時間範囲は [1 時間 (毎正時)] です。86400 は 1 日の秒数です。log は Logstore 名です。

  • クエリ文

    * |
    SELECT
      diff [1] AS today,
      diff [2] AS yesterday,
      diff [3] AS ratio
    FROM  (
        SELECT
          compare(PV, 86400) AS diff
        FROM      (
            SELECT
              count(*) AS PV
            FROM          log
          )
      )
  • クエリと分析の結果Day-over-day PV comparison result

    • [3337.0]:現在の 1 時間の PV (例:2020年12月25日 14:00~15:00)。

    • [3522.0]:昨日の同じ時間の PV (例:2020年12月24日 14:00~15:00)。

    • [0.947473026689381]:現在の 1 時間の PV と、昨日の同じ時間の PV との比率。

例 3

ページごとに PV をカウントし、PV の合計に対する各ページの PV のパーセンテージを計算します。

  • クエリ文

    * |
    SELECT
      request_uri AS "Accessed Page",
      c AS "Count",
      round(c * 100.0 /(sum(c) over()), 2) AS "Percentage (%)"
    FROM  (
        SELECT
          request_uri AS request_uri,
          count(*) AS c
        FROM      log
        GROUP BY
          request_uri
        ORDER BY
          c DESC
      )
  • クエリと分析の結果PV percentage by page