View a markdown version of this page

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 and.

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

Esempio

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 ]
Esempio

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 in base AWS IoT SiteWise allo schema interno. Ciò equivale a eseguire un campo JOIN sui property_id campi asset_id e tra le tabelle di metadati e di dati grezzi. Questo modello consente di SiteWise sfruttare qualsiasi filtro di metadati fornito nella query, per il recupero da tabelle di dati grezzi in modo da ridurre il numero complessivo di dati scansionati.

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 appartenenti ai nomi di 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 della relativa descrizione:

Clausola

Firma

Descrizione

LIMIT

LIMIT { count }

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

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.

Nota

Quando si fa riferimento a colonne selezionate in un'aggregazione della ORDER BY clausola, utilizzare l'indice ordinale della colonna anziché il nome o l'alias.

SELECT AVG(t.double_value) FROM latest_value_time_series t GROUP BY t.asset_id ORDER BY 1

GROUP BY

GROUP BY expression [, ...]

La GROUP BY clausola identifica le colonne di raggruppamento per l'interrogazione. 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 corrispondono alla condizione di join.

UNION

query { UNION [ ALL ] } another_query

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