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

Simple Log Service:サブクエリ

最終更新日:Aug 26, 2024

サブクエリは、SELECTステートメントが別のSELECTステートメント内にネストされているクエリです。 サブクエリを使用して、複雑な分析要件を満たすことができます。

構文

SELECT文でFROM句を指定します。

* | SELECT key FROM (sub_query)
重要
  • サブクエリ文をFROM句で括弧内 () で囲む必要があります。

  • 現在のLogstoreのログデータを分析する場合は、キーワードFROM logを指定する必要があります。

例 1

要求メソッドによるページビュー (PV) の数を計算し、PVの最小数を取得します。

  • クエリ文

    * |
    SELECT
     min(PV)
    FROM  (
        SELECT
          count(1) as PV
        FROM      log
        GROUP BY
          request_method
      )
  • クエリおよび分析の結果サブクエリ

例 2

前日の同じ期間のPVに対する現在の時間のPVの比率を計算します。 クエリの時間範囲は1時間 (on The hour) です。 86400は、現在時刻から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
          )
      )
  • クエリおよび分析の結果インターバル値の比較の結果

    • 3337.0は、現在の時間のPVを示します。 例: 2020年12月25日の14:00:00から15:00:00までのPV。

    • 3522.0は、前日の同じ期間のPVを示します。 例: 2020年12月24日の14:00:00から15:00:00までのPV。

    • 0.947473026689381は、前日の同じ期間のPVに対する現在の時間のPVの比率を示します。

例 3

各ページのPVの数と、全PVに対する各ページのPVの割合を計算します。

  • クエリ文

    * |
    SELECT
      request_uri AS "Access page",
      c as "PVs",
      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
      )
  • クエリおよび分析の結果サブクエリ