3.6 KiB
Use struct functions to create Arrow structs in SQL queries.
named_struct
Returns an Arrow struct using the specified name and input expressions pairs.
named_struct(expression1_name, expression1_input[, ..., expression_n_name, expression_n_input])
Arguments
- expression_n_name: Name of the column field. Must be a constant string.
- expression_n_input: Expression to include in the output struct. Can be a constant, column, or function, and any combination of arithmetic or string operators.
Related functions
{{< expand-wrapper >}}
{{% expand "View named_struct
query example" %}}
The following example uses the {{% influxdb3/home-sample-link %}}.
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} |
{{% /expand %}} {{< /expand-wrapper >}}
row
Alias of struct
.
struct
Returns an Arrow struct using the specified input expressions optionally named.
Fields in the returned struct use the optional name or the cN
naming convention.
Fields in the returned struct use the cN
naming convention (for example: c0
, c1
, c2
, etc.)
unless you specify custom names using the AS
operator within individual expressions.
struct(expression1[, ..., expression_n])
Arguments
- expression1, expression_n: Expression to include in the output struct. Can be a constant, column, or function, and any combination of arithmetic or string operators.
Aliases
- row
Related functions
{{< expand-wrapper >}}
{{% expand "View struct
query example" %}}
The following example uses the {{% influxdb3/home-sample-link %}}.
SELECT
struct(time, temp, hum) AS struct
FROM
home
WHERE
room = 'Kitchen'
LIMIT 4
{{% influxdb/custom-timestamps %}}
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} |
{{% /influxdb/custom-timestamps %}}
{{% /expand %}}
{{% expand "View struct
query example with named fields" %}}
Use the AS
operator in a struct
expression argument to assign a name to the
struct field.
The following example uses the {{% influxdb3/home-sample-link %}}.
SELECT
struct(time AS 'time', temp AS 'temperature', hum) AS struct
FROM
home
WHERE
room = 'Kitchen'
LIMIT 4
{{% influxdb/custom-timestamps %}}
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/custom-timestamps %}}
{{% /expand %}} {{< /expand-wrapper >}}