Cláusulas compatíveis - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cláusulas compatíveis

A SELECT instrução é usada para recuperar dados de uma ou mais visualizações. AWS IoT SiteWise suporta JOIN as INNER JOIN operações e.

As visualizações são unidas com uma JOIN sintaxe explícita ou com notações separadas por vírgula na cláusula. FROM

Uma SELECT declaração geral:

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 ]

Uma declaração SELECT com as diferentes cláusulas:

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

Um implícito JOIN combina duas ou mais tabelas diferentes sem usar a JOIN palavra-chave com base no esquema interno AWS IoT SiteWise do. Isso é o equivalente a executar um JOIN nos property_id campos asset_id e entre metadados e tabelas de dados brutos. Esse padrão SiteWise permite aproveitar qualquer filtro de metadados na consulta, ao buscar tabelas de dados brutos de uma forma que resulta em menos dados gerais digitalizados.

exemplo de uma consulta:
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'

O exemplo acima verifica apenas os dados da propriedade do ativo pertencente aos nomes de metadados especificados.

exemplo de um equivalente menos otimizado da consulta acima:
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'

Uma explicação de cada cláusula e sua descrição estão listadas abaixo:

Cláusula

Assinatura

Descrição

LIMIT

LIMIT { count }

Essa cláusula limita o conjunto de resultados ao número especificado de linhas. Você pode usar LIMIT com ou sem OFFSET cláusulas ORDER BY e.

LIMITsó funciona com números inteiros não negativos de [0,2147483647].

ORDER BY

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

A ORDER BY cláusula classifica o conjunto de resultados de uma consulta.

GROUP BY

GROUP BY expression [, ...]

A GROUP BY cláusula identifica as colunas de agrupamento da consulta. É usado em conjunto com uma expressão agregada.

HAVING

HAVING boolean-expression

A HAVING cláusula filtra as linhas do grupo criadas pela cláusula GROUP BY.

SUB SELECT

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

Uma SELECT declaração incorporada em outra SELECT declaração.

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 retorna todas as linhas de ambas as tabelas que correspondem à condição de junção.

UNION

query { UNION [ ALL ] } another_query

O UNION operador calcula a união do conjunto de seus dois argumentos, removendo automaticamente registros duplicados do conjunto de resultados.