Clausole supportate - AWS IoT SiteWise

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Clausole supportate

L'SELECTistruzione viene utilizzata per recuperare dati da una o più viste. AWS IoT SiteWise supporta le INNER JOIN operazioni JOIN e.

Le viste vengono unite con una JOIN sintassi esplicita o con notazioni separate da virgole nella clausola. FROM

Una dichiarazione generale: 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 ]

Un'istruzione SELECT con le diverse clausole:

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

Un'implicita JOIN combina due o più tabelle diverse senza utilizzare la JOIN parola chiave basata sullo schema interno AWS IoT SiteWise. Ciò equivale a eseguire un comando JOIN sui property_id campi asset_id e tra metadati e tabelle di dati non elaborati. Questo modello consente di SiteWise sfruttare qualsiasi filtro di metadati specificato nella query, durante il recupero da tabelle di dati non elaborati in modo da ridurre la quantità complessiva di dati analizzati.

Esempio di una query:
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'esempio precedente analizza solo i dati della proprietà dell'asset che appartiene ai nomi dei metadati specificati.

Esempio di un equivalente meno ottimizzato della query precedente:
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'

Di seguito è riportata una spiegazione di ciascuna clausola e la relativa descrizione:

Clausola

Firma

Descrizione

LIMIT

LIMIT { count }

Questa clausola limita il set di risultati al numero di righe specificato. È possibile utilizzare LIMIT con o senza OFFSET clausole ORDER BY and.

LIMITfunziona solo con numeri interi non negativi compresi tra [0,2147483647].

ORDER BY

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

La ORDER BY clausola ordina il set di risultati di una query.

GROUP BY

GROUP BY expression [, ...]

La GROUP BY clausola identifica le colonne di raggruppamento per la query. Viene utilizzata insieme a un'espressione aggregata.

HAVING

HAVING boolean-expression

La HAVING clausola filtra le righe di gruppo create dalla clausola GROUP BY.

SUB SELECT

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

Un'SELECTistruzione incorporata in un'altra SELECT istruzione.

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 restituisce tutte le righe di entrambe le tabelle che soddisfano la condizione di join.

UNION

query { UNION [ ALL ] } another_query

L'UNIONoperatore calcola l'unione di set dei suoi due argomenti, rimuovendo automaticamente i record duplicati dal set di risultati.