サポートされている句 - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サポートされている句

SELECT ステートメントは、1 つ以上のビューからデータを取得するために使用されます。 は JOINおよび INNER JOINオペレーション AWS IoT SiteWise をサポートします。

ビューは、明示的なJOIN構文、または FROM句のカンマ区切り表記で結合されます。

一般的なSELECTステートメント:

SELECT expression [, ...] [ FROM table_name AS alias [, ...] ] [ WHERE condition ] [ GROUP BY expression [, ...] ] [ HAVING condition ] [ ORDER BY expression [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [, ...] ] [ LIMIT expression ]

さまざまな句を含む SELECT ステートメント:

SELECT a.asset_name, a.asset_id, p.property_type, p.property_data_type, p.string_attribute_value, p.property_name FROM asset a, asset_property p WHERE a.asset_description LIKE '%description%' AND p.property_type IN ('attribute', 'metric') OR p.property_id IN ( SELECT property_id FROM raw_time_series WHERE event_timestamp BETWEEN TIMESTAMP '2025-01-01 00:00:00' AND TIMESTAMP '2025-01-02 00:00:00' GROUP BY asset_id, property_id HAVING COUNT(*) > 100 ) GROUP BY p.property_type HAVING COUNT(*) > 5 ORDER BY a.asset_name ASC LIMIT 20;
注記

暗黙的な JOINは、内部スキーマに基づく JOINキーワードを使用せずに、2 AWS IoT SiteWiseつ以上の異なるテーブルを組み合わせます。これは、メタデータasset_idテーブルと raw データテーブル間の フィールドと property_idフィールドJOINで を実行するのと同じです。このパターンにより、SiteWise は未加工のデータテーブルから取得するときにクエリ内の特定のメタデータフィルターを活用でき、スキャンされる全体的なデータが少なくなります。

例 クエリの :
SELECT a.asset_name, p.property_name, r.event_timestamp FROM asset a, asset_property p, raw_time_series r WHERE a.asset_name='my_asset' AND p.property_name='my_property'

上記の例では、指定されたメタデータ名に属するアセットプロパティのデータのみをスキャンします。

例 上記のクエリと同等に最適化されていません。
SELECT a.asset_name, p.property_name, r.event_timestamp FROM asset a JOIN asset_property p ON a.asset_id=p.asset_id JOIN raw_time_series r ON p.asset_id=r.asset_id AND p.property_id=r.property_id WHERE a.asset_name='my_asset' AND p.property_name='my_property'

各句とその説明を以下に示します。

署名

説明

LIMIT

LIMIT { count }

この句は、結果セットを指定された行数に制限します。および ORDER BYOFFSETLIMIT句の有無にかかわらず、 を使用できます。

LIMIT は、[0,2147483647] の負以外の整数でのみ機能します。

ORDER BY

ORDER BY expression [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]

ORDER BY 句は、クエリの結果セットをソートします。

GROUP BY

GROUP BY expression [, ...]

GROUP BY 句は、クエリのグループ化列を識別します。これは集計式と組み合わせて使用されます。

HAVING

HAVING boolean-expression

HAVING 句は、GROUP BY 句によって作成されたグループ行をフィルタリングします。

SUB SELECT

SELECT column1, column2 FROM table1 WHERE column3 IN (SELECT column4 FROM table2);

別のSELECTステートメントに埋め込まれたSELECTステートメント。

JOIN

SELECT column1, column2 FROM table1 JOIN table2 ON table1.column1 = table2.column1;

INNER JOIN

SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column;

は、結合条件に一致する両方のテーブルのすべての行INNER JOINを返します。

UNION

query { UNION [ ALL ] } another_query

UNION 演算子は 2 つの引数の集合和を計算し、結果セットから重複するレコードを自動的に削除します。