FROM(Azure 流分析)
在 WITH 子句中指定输入流或关联的步骤名称。 FROM 子句始终是任何 SELECT 语句所必需的。
语法
FROM <input_source> [<PARTITION BY clause>] [<TIMESTAMP BY clause>]
<PARTITION BY clause> ::== PARTITION BY <key_spec>
<TIMESTAMP BY clause> ::== TIMESTAMP BY scalar_expression [OVER <key_spec>]
<input_source> ::=
{
*
| { input_name | input_alias }.*
| {
[ { input_name | input_alias }. ]
{ column_name }
| expression [ [ AS ] column_alias ]
}
| column_alias = expression
}
<key_spec> ::== { column_name | expression } [,... n]
参数
*
指定应返回 FROM 子句中所有输入流中的所有列。 输入源将按 FROM 子句中指定的列在传入流中存在的顺序返回这些列。
input_name | input_alias.*
限制 * 的作用域为指定的输入名称。
column_name
要返回的列名。 限定 column_name 以防止引用不明确,就像 FROM 子句中的两个输入源具有名称重复的列时会发生的情况。
expression
常量、函数以及由一个或多个运算符连接的列名、常量和函数的任意组合,或者是子查询。
Column_alias
查询结果集内替换列名的可选名。 例如,可以为名为 quantity 的列指定别名,如 Quantity、Quantity to Date 或 Qty。 别名还用于指定表达式结果的名称。 column_alias不能在 WHERE、GROUP BY 或 HAVING 子句中使用。
PARTITON BY <key_spec>
根据 <key_spec>将数据分区为子集。 这允许作业并行使用和写入不同的分区。 有关详细信息,请参阅利用 Azure 流分析中的查询并行化。
TIMESTAMP by scalar_expression [over <key_spec>]
允许事件按 scalar_expression 而不是到达时间进行时间戳。 OVER 子句可用于为每个非重复键创建独立的时间线。 有关详细信息,请参阅有关 TIMESTAMP BY 的文档。
示例
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag
FROM TollTagEntry TIMESTAMP BY EntryTime