WITH(Azure 流分析)

指定临时的命名结果集,该结果集可供查询中的 FROM 子句引用。 这是在单个 SELECT 语句的执行作用域内定义的。

注意

WITH 子句在横向扩展查询方面具有特殊用途。 有关详细信息,请参阅 缩放 Azure 流分析作业

语法

WITH   
  
<result_set_name1> AS  
  ( SELECT_query_definition1 ),  
  
[<result_set_name2> AS  
  ( SELECT_query_definition2 )  
[...n]  ]  
  

参数

result_set_name

这是临时结果集的名称,该结果集可供 SELECT 语句的 FROM 子句引用。 此名称不能与查询作用域内定义的任何其他 result_set_name 的名称相同。

SELECT_query_definition

指定其结果集填充 result_set_name 的 SELECT 语句。

示例

WITH   
NormalReadings AS  
(  
  SELECT *  
  FROM Sensor  
  WHERE Reading < 100 AND Reading > 0  
),  
Averages AS  
(  
  SELECT SensorId, AVG(Reading) as AvgNormalReading  
  FROM NormalReadings  
  GROUP BY SensorId, TumblingWindow(minute, 1)  
),  
BadAverages AS  
(  
  SELECT *  
  FROM Averages  
  WHERE AvgNormalReadings < 10  
)  
  
SELECT * INTO outputAlerts FROM BadAverages  
SELECT * INTO outputLog FROM NormalReadings