

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS IoT SiteWise 查询语言
<a name="sql"></a>

通过 AWS IoT SiteWise 数据检索 [ExecuteQuery](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteQuery.html)API 操作，您可以从以下位置检索有关声明式结构定义以及与之关联的时间序列数据的信息：
+   模型
+ 资产
+ 测量值
+ metrics
+ 转换
+ 聚合

这可以在单个 API 请求中使用类似查询语句的 SQL 来完成。

**注意**  
该功能适用于所有可用的区域 AWS IoT SiteWise ，但 AWS GovCloud （美国西部）、加拿大（中部）、中国（北京）和美国东部（俄亥俄州）除外。

**Topics**
+ [查询语言参考 AWS IoT SiteWise](query-reference.md)

# 查询语言参考 AWS IoT SiteWise
<a name="query-reference"></a>

 AWS IoT SiteWise 支持丰富的查询语言来处理您的数据。以下主题介绍了可用的数据类型、运算符、函数和构造。

[示例查询](sql-examples.md)要使用查询语言编写 AWS IoT SiteWise 查询，请参阅。

**Topics**
+ [查询参考视图](query-reference-views.md)
+ [支持的数据类型](supported-data-types.md)
+ [支持的子句](supported-clauses.md)
+ [逻辑运算符](sql-supported-logical.md)
+ [比较运算符](sql-supported-comparision.md)
+ [SQL 函数](sql-functions.md)
+ [示例查询](sql-examples.md)

# 查询参考视图
<a name="query-reference-views"></a>

本节提供的信息可帮助您理解中的视图 AWS IoT SiteWise，例如流程元数据和遥测数据。

下表提供了视图的视图名称和描述：


**数据模型**  

|  **视图名称**  |  **视图描述**  | 
| --- | --- | 
|  asset  |  包含有关资产和模型派生的信息。  | 
|  asset\$1property  |  包含有关资产属性结构的信息。  | 
|  raw\$1time\$1series  |  包含时间序列的历史数据。  | 
|  latest\$1value\$1time\$1series  |  包含时间序列的最新值。  | 
|  precomputed\$1aggregates  |  包含自动计算的聚合资产属性值。它们是一组按多个时间间隔计算的基本指标。  | 

以下视图列出了每个视图的列名和数据类型。


**视图：asset**  

|  **列名**  |  **datatype**  | 
| --- | --- | 
|  asset\$1id  |  字符串  | 
|  asset\$1name  |  字符串  | 
|  asset\$1description  |  字符串  | 
|  asset\$1model\$1id  |  字符串  | 
|  父资产标识  |  字符串  | 
| asset\$1external\$1id | 字符串 | 
| asset\$1model\$1external\$1id | 字符串 | 
| 层次结构\$1id | 字符串 | 


**视图：asset\$1property**  

|  **列名**  |  **datatype**  | 
| --- | --- | 
|  asset\$1id  |  字符串  | 
|  property\$1id  |  字符串  | 
|  property\$1name  |  字符串  | 
|  property\$1alias  |  字符串  | 
|  属性\$1external\$1id  |  字符串  | 
|  asset\$1composite\$1model\$1id  |  字符串  | 
|  属性\$1类型  |  字符串  | 
|  property\$1data\$1type  |  字符串  | 
|  int\$1属性\$1值  |  整数  | 
|  双重属性值  |  double  | 
|  布尔属性值  |  布尔值  | 
|  字符串\$1属性\$1值  |  字符串  | 


**视图：raw\$1time\$1series**  

|  **列名**  |  **datatype**  | 
| --- | --- | 
|  asset\$1id  |  字符串  | 
|  property\$1id  |  字符串  | 
|  property\$1alias  |  字符串  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  字符串  | 
|  boolean\$1value  |  布尔值  | 
|  int\$1value  |  整数  | 
|  double\$1value  |  double  | 
|  string\$1value  |  字符串  | 


**视图：latest\$1value\$1time\$1series**  

|  **列名**  |  **datatype**  | 
| --- | --- | 
|  asset\$1id  |  字符串  | 
|  property\$1id  |  字符串  | 
|  property\$1alias  |  字符串  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  字符串  | 
|  boolean\$1value  |  布尔值  | 
|  int\$1value  |  整数  | 
|  double\$1value  |  double  | 
|  string\$1value  |  字符串  | 


**视图：precomputed\$1aggregates**  

|  **列名**  |  **datatype**  | 
| --- | --- | 
|  asset\$1id  |  字符串  | 
|  property\$1id  |  字符串  | 
|  property\$1alias  |  字符串  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  字符串  | 
|  resolution  |  字符串  | 
|  sum\$1value  |  double  | 
|  count\$1value  |  整数  | 
|  average\$1value  |  double  | 
|  maximum\$1value  |  double  | 
|  minimum\$1value  |  double  | 
|  stdev\$1value  |  double  | 

# 支持的数据类型
<a name="supported-data-types"></a>

AWS IoT SiteWise 查询语言支持以下数据类型。


**标量值**  

|  **数据类型**  |  **描述**  | 
| --- | --- | 
|  `STRING`  |  最大长度为 1024 个字节的字符串。  | 
|  `INTEGER`  |  有符号的 32 位整数，其范围为 `-2,147,483,648 to 2,147,483,647`。  | 
|  `DOUBLE`  |  浮点数`–10^100 to 10^100`，范围为或精`Nan`度为`IEEE 754`双精度。  | 
|  `BOOLEAN`  |  `true` 或 `false`。  | 
|  `TIMESTAMP`  |  符合 ISO-8601 标准的时间戳： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/supported-data-types.html)  | 

**注意**  
`Null`：`true`表示缺少已定义数据的布尔值。

**Example**  
`TIMESTAMP`值示例：  

```
TIMESTAMP '2025-12-21 23:59:59.999Z'
TIMESTAMP '2025-12-21 23:59:59+23:59'
'2025-12-21 23:59:59'
'2025-12-21T23:59:59.123+11:11'
```

**注意**  
 双精度数据不准确。由于精度有限，有些值无法精确转换，也无法代表所有实数。查询中的浮点数据可能与内部表示的值不同。如果输入数字的精度过高，则该值将被四舍五入。

# 支持的子句
<a name="supported-clauses"></a>

该`SELECT`语句用于从一个或多个视图中检索数据。 AWS IoT SiteWise 支持`JOIN`和`INNER JOIN`操作。

视图使用显式`JOIN`语法或子句中以逗号分隔的符号连接。`FROM`

**Example**  
一般性`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 ]
```

**Example**  
包含不同子句的 SELECT 语句：  

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

**注意**  
 隐式`JOIN`组合了两个或多个不同的表，而不使用基于 AWS IoT SiteWise的内部架构的`JOIN`关键字。这等效于`JOIN`在元数据表`asset_id`和原始数据表之间对和`property_id`字段执行。当从原始数据表中提取数据时，这种模式允许 SiteWise 在查询中利用任何给定的元数据筛选器，从而减少扫描的总体数据。  

**Example 查询的：**  

```
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'
```
上面的示例仅扫描属于指定元数据名称的资产属性的数据。  

**Example 与上述查询相比，优化程度较低的等效查询：**  

```
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'
```

下面列出了每个条款的解释及其描述：


|  **条款**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `LIMIT`  |  <pre>LIMIT { count }</pre>  |  此子句将结果集限制为指定的行数。您可以使用`LIMIT`带或不带`ORDER BY`和`OFFSET`子句。 `LIMIT`仅适用于 [0,2147483647] 中的非负整数。  | 
|  `ORDER BY`  |  <pre>ORDER BY expression<br />[ ASC | DESC ]<br />[ NULLS FIRST | NULLS LAST ] <br /></pre>  |  该`ORDER BY`子句对查询的结果集进行排序。   在`ORDER BY`子句中引用聚合中的选定列时，请使用该列的序数索引，而不是名称或别名。 <pre>SELECT AVG(t.double_value)<br />FROM latest_value_time_series t<br />GROUP BY t.asset_id<br />ORDER BY 1</pre>   | 
|  `GROUP BY`  |  <pre>GROUP BY expression [, ...]</pre>  |  该`GROUP BY`子句标识查询的分组列。它与聚合表达式一起使用。  | 
|  `HAVING`  |  <pre>HAVING boolean-expression</pre>  |  该`HAVING`子句筛选由 GROUP BY 子句创建的组行。  | 
|  `SUB SELECT`  |  <pre>SELECT column1, column2<br />FROM table1<br />WHERE column3 IN (SELECT column4 FROM table2);<br /></pre>  |  嵌入在另一条`SELECT`语句中的`SELECT`语句。  | 
|  `JOIN`  |  <pre>SELECT column1, column2<br />FROM table1 JOIN table2<br />ON table1.column1 = table2.column1;<br /></pre>  | 
|  `INNER JOIN`  |  <pre>SELECT columns<br />FROM table1<br />INNER JOIN table2 ON table1.column = table2.column;<br /></pre>  |  `INNER JOIN`返回两个表中符合联接条件的所有行。  | 
|  `UNION`  |  <pre>query<br />   { UNION [ ALL ] }<br />another_query<br /></pre>  |  `UNION`运算符计算其两个参数的集合并集，自动从结果集中删除重复的记录。  | 

# 逻辑运算符
<a name="sql-supported-logical"></a>

AWS IoT SiteWise 支持以下逻辑运算符。


|  **运算符**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `AND`  |  a `AND` b  |  如果两个值都为真，则为 `TRUE`  | 
|  `OR`  |  a `OR` b  |  `TRUE`如果一个值为真  | 
|  `NOT`  |  `NOT` 表达式  |  `TRUE`如果表达式为假，`FALSE`如果表达式为真  | 
|  `IN`  |  x `IN` 表达式  |  `TRUE`如果表达式中有值  | 
|  `BETWEEN`  |  `BETWEEN`a `AND` b  |  `TRUE`如果值介于上限和下限之间，并且包括两个限制  | 
|  `LIKE`  |  `LIKE` 模式  |  `TRUE`如果值在模式中 `LIKE`支持通配符。有关示例，请参见下文： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

所有逻辑运算符的示例：


|  **函数**  |  **示例**  | 
| --- | --- | 
|  AND  |  <pre>SELECT a.asset_name <br />   FROM asset AS a, latest_value_time_series AS t <br />   WHERE t.int_value > 30 AND t.event_timestamp > TIMESTAMP '2025-05-15 00:00:01'<br /></pre>  | 
|  或  |  <pre>SELECT a.asset_name <br />   FROM asset AS a<br />   WHERE a.asset_name like 'abc' OR a.asset_name like 'pqr'<br /></pre>  | 
|  NOT  |  <pre>SELECT ma.asset_id AS a_id<br />   FROM asset AS ma<br />   WHERE (ma.asset_id NOT LIKE 'some%patterna%' escape 'a') AND ma.asset_id='abc'<br /></pre>  | 
|  IN  |  <pre>SELECT a.asset_name <br />   FROM asset AS a<br />   WHERE a.asset_name IN ('abc', 'pqr')<br /></pre>  | 
|  BETWEEN  |  <pre>SELECT asset_id, int_value, event_timestamp AS i_v <br />   FROM raw_time_series<br />   WHERE event_timestamp BETWEEN TIMESTAMP '2025-04-15 00:00:01' and TIMESTAMP '2025-05-15 00:00:01'  <br /></pre>  | 
|  LIKE  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

# 比较运算符
<a name="sql-supported-comparision"></a>

AWS IoT SiteWise 支持以下比较运算符。所有比较操作都适用于内置数据类型，其计算结果为布尔值。


**逻辑运算符**  

|  **运算符**  |  **描述**  | 
| --- | --- | 
|  `<`  |  Less than  | 
|  `>`  |  Greater than  | 
|  `<=`  |  小于或等于  | 
|  `>=`  |  大于或等于  | 
|  `=`  |  Equals  | 
|  `!=`  |  Not equal  | 


**非数值的比较运算真值表**  

|  **Type**  |  **键入 >= x**  |  **键入 <= x**  |  **键入 > x**  |  **键入 < x**  |  **类型 = x**  |  **键入！ = x**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  `NULL`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `TRUE`  | 

有些谓词的行为类似于运算符，但语法特殊。请参阅下面的：


**比较谓词**  

|  **运算符**  |  **描述**  | 
| --- | --- | 
|  `IS NULL`  |  测试一个值是否为`NULL`。  | 
|  `IS NOT NULL`  |  测试一个值是否不是`NULL`。  | 

## NaN 运算符
<a name="sql-supported-comparision-nan"></a>

 `NaN`，或 “Not a Number”，是浮点运算中的一个特殊值。以下是`NaN`比较列表及其工作原理。
+ `NaN`值必须用单引号括起来。例如，'`NaN`'。
+ `NaN`值被认为彼此相等。
+ `NaN`大于其他数值。
+ 在、和`AVG()``STDDEV()`、等聚合函数中`SUM()`，如果有任何值`NaN`，则结果为`NaN`。
+ 在`MAX()`和之类的聚合函数中`MIN()`，`NaN`值包含在计算中。


**NaN 值比较**  

|  **Comparison**（比较）  |  **结果**  | 
| --- | --- | 
|  `'NaN' ≥ x`  |  True  | 
|  `'NaN' ≤ x`  |  如果 x 等于 NaN 则为真，否则为假  | 
|  `'NaN' > x`  |  如果 x 等于 NaN 则为假，否则为真  | 
|  `'NaN' < x`  |  False  | 
|  `'NaN' = x`  |  如果 x 等于 NaN 则为真，否则为假  | 
|  `'NaN' != x`  |  如果 x 等于 NaN 则为假，否则为真  | 

# SQL 函数
<a name="sql-functions"></a>

 支持的函数组有：

**Topics**
+ [标量函数](sql-functions-scalar.md)
+ [聚合函数](sql-functions-aggregated.md)

# 标量函数
<a name="sql-functions-scalar"></a>

 标量函数接受一个或多个输入值并返回单个输出值。它们在 SQL（结构化查询语言）中被广泛用于数据操作和检索，从而提高了数据处理任务的效率。

**Topics**
+ [空数据函数](sql-functions-null.md)
+ [字符串函数](sql-functions-string.md)
+ [数学函数](sql-functions-math.md)
+ [日期时间函数](sql-functions-date.md)
+ [类型转换函数](sql-functions-type-conv.md)

# 空数据函数
<a name="sql-functions-null"></a>

 Null 数据函数处理或操作 NULL 值，这些值表示缺少值。这些函数允许您 NULLs 用其他值替换、检查值是否为 NULL 或执行以特定 NULLs 方式处理的操作。


|  **函数**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `COALESCE`  |   COALESCE（表达式 1、表达式 2、...、expressionN）   |  如果所有表达式的计算结果均为空，则 COALESCE 返回空值。表达式的类型必须相同。  | 

**Example COALESCE 函数的**  

```
SELECT COALESCE (l.double_value, 100) AS non_double_value FROM latest_value_time_series AS l LIMIT 1
```

# 字符串函数
<a name="sql-functions-string"></a>

 字符串函数是用于操作和处理文本数据的内置工具。它们支持串联、提取、格式化和在字符串中搜索等任务。这些功能对于清理、转换和分析数据库中基于文本的数据至关重要。


**字符串函数**  

|  **函数**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `LENGTH`  |   长度（字符串）   |  返回字符串的长度。  | 
|  `CONCAT`  |   CONCAT（字符串、字符串）   |  连接字符串中的参数。  | 
|  `SUBSTR`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-string.html)  |  返回以下内容之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-string.html) 使用基于 1 的索引作为起始参数。  | 
|  `UPPER`  |   UPPER（字符串）   |  将输入字符串中的字符转换为大写。  | 
|  `LOWER`  |   下限（字符串）   |  将输入字符串中的字符转换为小写。  | 
|  `TRIM`  |   修剪（字符串）   |  删除字符串开头、结尾或两边的所有空格字符。  | 
|  `LTRIM`  |   LTRIM（字符串）   |  删除字符串开头的所有空格字符。  | 
|  `RTRIM`  |   RTRIM（字符串）   |  删除字符串末尾的所有空格字符。  | 
|  `STR_REPLACE`  |   STR\$1REPLACE（字符串，从、到）   |  用另一个指定的子字符串替换所有出现的指定子字符串。  | 

所有功能的示例：


|  **函数**  |  **示例**  | 
| --- | --- | 
|  LENGTH  |  `SELECT LENGTH(a.asset_id) AS asset_id_length FROM asset AS a`  | 
|  CONCAT  |   `SELECT CONCAT(p.property_id, p.property_name) FROM asset_property AS p`   | 
|  SUBSTR  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-string.html)  | 
|  UPPER  |   `SELECT UPPER(d.string_value) AS up_string FROM raw_time_series AS d`   | 
|  LOWER  |   `SELECT LOWER(d.string_value) AS low_string FROM raw_time_series AS d`   | 
|  TRIM  |   `SELECT TRIM(d.string_value) AS tm_string FROM raw_time_series AS d`   | 
|  LTRIM  |   `SELECT LTRIM(d.string_value) AS ltrim_string FROM raw_time_series AS d`   | 
|  RTRIM  |   `SELECT RTRIM(d.string_value) AS rtrim_string FROM raw_time_series AS d`   | 
|  STR\$1REPALE  |   `SELECT STR_REPLACE(d.string_value, 'abc', 'def') AS replaced_string FROM raw_time_series AS d`   | 

## 串联运算符
<a name="sql-operators-concatenation"></a>

 连接运算符或管道运算`||`符将两个字符串连接在一起。它提供了该`CONCAT`函数的替代方案，并且在组合多个字符串时更具可读性。

**Example 的串联运算符**  

```
SELECT a.asset_name || ' - ' || p.property_name 
  AS full_name
  FROM asset a, asset_property p
```

# 数学函数
<a name="sql-functions-math"></a>

 数学函数是预定义的数学运算，用于在 SQL 查询中对数值数据进行计算。它们提供了操作和转换数据的方法，而无需从数据库中提取数据并单独处理数据。


**数学函数**  

|  **函数**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `POWER`  |  功率（整数\$1双精度，整数\$1双精度）  |  返回第一个参数的值乘以第二个参数的次方。  | 
|  `ROUND`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-math.html)  |  四舍五入到最接近的整数。  | 
|  `FLOOR`  |   地板 (int\$1double)   |  返回不大于给定值的最大整数。  | 

所有功能的示例：


|  **函数**  |  **示例**  | 
| --- | --- | 
|  POWER  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-math.html)  | 
|  ROUND  |   `ROUND (32.12435, 3)`   | 
|  FLOOR  |   `FLOOR (21.2)`   | 

# 日期时间函数
<a name="sql-functions-date"></a>

 日期时间函数适用于日期和时间。这些函数允许提取日期的特定组成部分、执行计算和操作日期值。

这些函数中允许使用的标识符是：
+ YEAR
+ MONTH
+ DAY
+ HOUR
+ MINUTE
+ SECOND


|  **函数**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `NOW`  |   现在 ()   |  返回精度为毫秒的当前时间戳。它提供了在查询中执行时的确切时间。  | 
|  `DATE_ADD`  |  DATE\$1ADD（标识符、间隔持续时间、列）  |  返回 a date/time 和多个days/hours, or of a date/time and date/time间隔的总和。  | 
|  `DATE_SUB`  |  DATE\$1SUB（标识符、间隔持续时间、列）  |  返回 a date/time 和多个间days/hours, or between a date/time and date/time隔之间的差。  | 
|  `TIMESTAMP_ADD`  |  TIMESTAMP\$1ADD（标识符、间隔持续时间、列）  |  在日期时间表达式中添加以给定时间单位为单位的时间间隔。  | 
|  `TIMESTAMP_SUB`  |  TIMESTAMP\$1SUB（标识符、间隔持续时间、列）  |  从日期时间表达式中减去以给定时间单位为单位的时间间隔。  | 
|  `CAST`  |  CAST（表达式为时间戳格式模式）  |  使用指定的格式模式将字符串表达式转换为时间戳。常见模式包括`'yyyy-MM-dd HH:mm:ss'`标准日期时间格式。例如，`SELECT CAST('2023-12-25 14:30:00' AS TIMESTAMP) AS converted_timestamp`  | 

**Example 使用列出的函数进行的 SQL 查询：**  

```
SELECT r.asset_id, r.int_value,
  date_add(DAY, 7, r.event_timestamp) AS date_in_future,
  date_sub(YEAR, 2, r.event_timestamp) AS date_in_past,
  timestamp_add(DAY, 2, r.event_timestamp) AS timestamp_in_future,
  timestamp_sub(DAY, 2, r.event_timestamp) AS timestamp_in_past,
  now() AS time_now
FROM raw_time_series AS r
```

# 类型转换函数
<a name="sql-functions-type-conv"></a>

 类型转换函数用于将值的数据类型从一种更改为另一种值。它们对于确保数据兼容性和执行需要特定格式数据的操作至关重要。


|  **函数**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `TO_DATE`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIMESTAMP`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIME`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `CAST`  |  演员阵容（<expression>饰演<data type>）  |  将计算结果为单个值的实体或表达式从一种类型转换为另一种类型。 支持的数据类型包括： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 

**Example 使用列出的函数进行的 SQL 查询：**  

```
SELECT TO_TIMESTAMP (100) AS timestamp_value,
  TO_DATE(r.event_timestamp) AS date_value,
  TO_TIME(r.event_timestamp) AS time_value
FROM raw_time_series AS r
```

# 聚合函数
<a name="sql-functions-aggregated"></a>

 聚合函数是对多行数据执行计算以生成单个汇总结果的数据库操作。这些函数分析数据集以返回计算值，例如总和、平均值、计数或其他统计度量。


|  **函数**  |  **签名**  |  **描述**  | 
| --- | --- | --- | 
|  `AVG`  |  平均值（表达式）  |  返回数值表达式的平均值。  | 
|  `COUNT`  |  计数（表达式）  |  返回符合给定条件的行数。  | 
|  `MAX`  |  最大值（表达式）  |  返回所选表达式的最大值。  | 
|  `MIN`  |  MIN（表达式）  |  返回所选表达式的最小值。  | 
|  `SUM`  |  SUM（表达式）  |  返回数值表达式的和。  | 
|  `STDDEV`  |  STDDEV（表达式）  |  返回样本标准差。  | 
|  `GROUP BY`  |  GROUP BY 表达式  |  返回由分组列创建的行。  | 
|  `HAVING`  |  有布尔表达式  |  返回按`GROUP BY`子句筛选的分组行。  | 

所有功能的示例：


|  **函数**  |  **示例**  | 
| --- | --- | 
|  AVG  |  <pre>SELECT d.asset_id, d.property_id, AVG(d.int_value) FROM raw_time_series AS d</pre>  | 
|  COUNT  |  <pre>SELECT COUNT(d.int_value) FROM raw_time_series AS d</pre>  | 
|  MAX  |  <pre>SELECT MAX(d.int_value) FROM raw_time_series AS d</pre>  | 
|  MIN  |  <pre>SELECT MIN(d.int_value) FROM raw_time_series AS d</pre>  | 
|  SUM  |  <pre>SELECT SUM(d.int_value) FROM raw_time_series AS d</pre>  | 
|  STDDEV  |  <pre>SELECT STDDEV(d.int_value) FROM raw_time_series AS d</pre>  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/iot-sitewise/latest/userguide/sql-functions-aggregated.html)  |  <pre>SELECT MAX(d.int_value) AS max_int_value, d.asset_id <br />FROM raw_time_series AS d <br />GROUP BY d.asset_id <br />HAVING MAX(d.int_value) > 5                      <br /></pre>  | 

# 示例查询
<a name="sql-examples"></a>

## 元数据筛选
<a name="sql-examples-meta-filter"></a>

以下示例是使用带有 AWS IoT SiteWise 查询语言的语`SELECT`句进行元数据筛选：

```
SELECT a.asset_name, p.property_name
FROM asset a, asset_property p
WHERE a.asset_name LIKE 'Windmill%'
```

## 值筛选
<a name="sql-examples-value-filter"></a>

以下是使用带有 AWS IoT SiteWise 查询语言的语`SELECT`句进行值筛选的示例：

```
SELECT a.asset_name, r.int_value
FROM asset a, raw_time_series r
WHERE r.int_value > 30
AND r.event_timestamp > TIMESTAMP '2022-01-05 12:15:00'
AND r.event_timestamp < TIMESTAMP '2022-01-05 12:20:00'
```