tencent cloud

Cloud Log Service

ネストされたサブクエリ

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:15
AI翻訳・品質チェック済み
本文では、ネストされたサブクエリの構文の使用方法と操作例を紹介します。

構文形式

一部の複雑な統計分析シーンでは、まず元データに対して1回目の統計分析を行い、次にその分析結果に対して2回目の統計分析を行う必要があります。このとき、1つのSELECT文の中に別のSELECT文をネストする必要があり、このようなクエリ方式をネストされたサブクエリと呼びます。
* | SELECT key FROM (subquery)
subquery:サブクエリ。括弧で囲む必要があります。
key:二次統計分析のためにサブクエリから取得する必要があるフィールド。
複数レベルのネストをサポートしており、2層に限定されません。

構文例

現在の1時間と昨日の同時刻におけるWebサイトアクセス数の比率を計算します: クエリと分析の時間範囲を直近1時間に選択し、以下のクエリと分析ステートメントを実行します。ここで、86400は現在時刻から86400秒(1日)を引いたことを表します。
* | SELECT compare(PV, 86400) FROM (SELECT count(*) AS PV)
SELECT count(*) AS PVは第一層の統計分析であり、元のログを対象に統計してWebサイトのアクセス数PVを取得します。
SELECT compare(PV, 86400) FROMは第二層の統計分析であり、第一層の統計分析の結果に対してPVを二次統計し、同环比関数compareを使用して1日前のWebサイトアクセス数PVを取得します。
結果は配列です:
[1860,1656,1.1231884057971016]
1860は現在の1時間のウェブサイトアクセス数を表します。
1656は昨日の同時刻におけるウェブサイトアクセス数を表します。
1.1231884057971016は、現在の1時間と昨日の同時刻におけるウェブサイトアクセス数の比率を表します。
配列内の要素を個別に取得する必要がある場合は、さらにクエリをネストできます:
* |
SELECT compare[1] AS today, compare[2] AS yesterday, compare[3] AS ratio
FROM (
SELECT compare(PV, 86400) AS compare
FROM (
SELECT COUNT(*) AS PV
)
)
SELECT compare[1] AS today, compare[2] AS yesterday, compare[3] AS ratio FROM compare関数の結果に対して、配列のインデックスを使用して特定の位置の数値を取得します。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック