Clauses soutenues - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Clauses soutenues

L'SELECTinstruction est utilisée pour récupérer des données à partir d'une ou de plusieurs vues. AWS IoT SiteWise soutient les INNER JOIN opérations JOIN et.

Les vues sont jointes à l'aide d'une JOIN syntaxe explicite ou de notations séparées par des virgules dans la clause. FROM

Une SELECT déclaration générale :

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 ]

Une instruction SELECT avec les différentes clauses :

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;
Note

Un implicite JOIN combine deux ou plusieurs tables différentes sans utiliser le JOIN mot clé basé sur AWS IoT SiteWise le schéma interne. Cela revient à exécuter un champ JOIN sur les property_id champs asset_id et entre les métadonnées et les tables de données brutes. Ce modèle permet de SiteWise tirer parti de n'importe quel filtre de métadonnées dans la requête, lors de l'extraction à partir de tables de données brutes, de manière à réduire le volume global des données numérisées.

Exemple d'une requête :
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'

L'exemple ci-dessus analyse uniquement les données de la propriété de l'actif appartenant aux noms de métadonnées spécifiés.

Exemple d'un équivalent moins optimisé de la requête ci-dessus :
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'

Vous trouverez ci-dessous une explication de chaque clause et sa description :

Clause

Signature

Description

LIMIT

LIMIT { count }

Cette clause limite le jeu de résultats au nombre de lignes spécifié. Vous pouvez utiliser LIMIT avec ou sans OFFSET clauses ORDER BY et.

LIMITne fonctionne qu'avec des entiers non négatifs de [0,2147483647].

ORDER BY

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

La ORDER BY clause trie le jeu de résultats d'une requête.

GROUP BY

GROUP BY expression [, ...]

La GROUP BY clause identifie les colonnes de regroupement pour la requête. Il est utilisé conjointement avec une expression agrégée.

HAVING

HAVING boolean-expression

La HAVING clause filtre les lignes de groupe créées par la clause GROUP BY.

SUB SELECT

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

Une SELECT déclaration incorporée dans une autre SELECT déclaration.

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;

An INNER JOIN renvoie toutes les lignes des deux tables qui correspondent à la condition de jointure.

UNION

query { UNION [ ALL ] } another_query

L'UNIONopérateur calcule l'union de ses deux arguments, en supprimant automatiquement les doublons du jeu de résultats.