Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Unterstützte Klauseln
Die SELECT
Anweisung wird verwendet, um Daten aus einer oder mehreren Ansichten abzurufen. AWS IoT SiteWise unterstützt die INNER JOIN
Operationen JOIN
und.
Ansichten werden mit einer expliziten JOIN
Syntax oder mit durch Kommas getrennten Notationen in der Klausel verknüpft. FROM
Eine allgemeine Aussage: 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 ]
Eine SELECT-Anweisung mit den verschiedenen Klauseln:
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;
Anmerkung
Eine implizite Methode JOIN
kombiniert zwei oder mehr verschiedene Tabellen, ohne das auf AWS IoT SiteWise dem internen Schema basierende JOIN
Schlüsselwort zu verwenden. Dies entspricht der Ausführung von A JOIN
für die property_id
Felder asset_id
und zwischen Metadaten- und Rohdatentabellen. Dieses Muster SiteWise ermöglicht es, beliebige Metadatenfilter in der Abfrage beim Abrufen aus Rohdatentabellen so zu nutzen, dass insgesamt weniger Daten gescannt werden.
Beispiel einer Abfrage:
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'
Im obigen Beispiel werden nur Daten aus der Asset-Eigenschaft gescannt, die zu den angegebenen Metadatennamen gehören.
Beispiel eines weniger optimierten Äquivalents der obigen Abfrage:
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'
Eine Erläuterung der einzelnen Klauseln und ihrer Beschreibung ist unten aufgeführt:
Klausel |
Signature |
Beschreibung |
---|---|---|
|
|
Diese Klausel begrenzt die Ergebnismenge auf die angegebene Anzahl von Zeilen. Sie können
|
|
|
Die |
|
|
Die |
|
|
Die |
|
|
Eine |
|
|
|
|
|
An |
|
|
Der |