使用 struct 函数在 SQL 查询中创建 Arrow struct。
named_struct
使用指定的名称和输入表达式对返回一个 Arrow struct。
named_struct(expression1_name, expression1_input[, ..., expression_n_name, expression_n_input])
参数
- expression_n_name: 列字段的名称。必须是常量字符串。
- expression_n_input: 要包含在输出 struct 中的表达式。可以是常量、列或函数,以及算术或字符串运算符的任意组合。
get_field
查看 named_struct 查询示例
以下示例使用 家庭传感器示例数据。
SELECT
named_struct('time', time, 'temperature', temp, 'humidity', hum) AS named_struct
FROM
home
WHERE
room = 'Kitchen'
LIMIT 4
| named_struct |
|---|
| {time: 2022-01-01T13:00:00, temperature: 22.8, humidity: 36.5} |
| {time: 2022-01-01T12:00:00, temperature: 22.5, humidity: 36.0} |
| {time: 2022-01-01T15:00:00, temperature: 22.7, humidity: 36.2} |
| {time: 2022-01-01T18:00:00, temperature: 23.3, humidity: 36.9} |
row
struct 的别名。
struct
使用指定的输入表达式(可选命名)返回一个 Arrow struct。返回的 struct 中的字段使用可选名称或 cN 命名约定。返回的 struct 中的字段使用 cN 命名约定(例如:c0、c1、c2 等),除非您在各个表达式中使用 AS 运算符指定自定义名称。
struct(expression1[, ..., expression_n])
参数
- expression1, expression_n: 要包含在输出 struct 中的表达式。可以是常量、列或函数,以及算术或字符串运算符的任意组合。
别名
get_field
查看 struct 查询示例
以下示例使用 家庭传感器示例数据。
SELECT
struct(time, temp, hum) AS struct
FROM
home
WHERE
room = 'Kitchen'
LIMIT 4
| struct |
|---|
| {c0: 2022-01-01T13:00:00, c1: 22.8, c2: 36.5} |
| {c0: 2022-01-01T12:00:00, c1: 22.5, c2: 36.0} |
| {c0: 2022-01-01T15:00:00, c1: 22.7, c2: 36.2} |
| {c0: 2022-01-01T18:00:00, c1: 23.3, c2: 36.9} |
查看带有命名字段的 struct 查询示例
在 struct 表达式参数中使用 AS 运算符为 struct 字段分配名称。
以下示例使用 家庭传感器示例数据。
SELECT
struct(time AS 'time', temp AS 'temperature', hum) AS struct
FROM
home
WHERE
room = 'Kitchen'
LIMIT 4
| struct |
|---|
| {time: 2022-01-01T13:00:00, temperature: 22.8, c2: 36.5} |
| {time: 2022-01-01T12:00:00, temperature: 22.5, c2: 36.0} |
| {time: 2022-01-01T15:00:00, temperature: 22.7, c2: 36.2} |
| {time: 2022-01-01T18:00:00, temperature: 23.3, c2: 36.9} |
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。