首页 > 解决方案 > Azure 流分析查询将单个数据行输入到 Azure SQL

问题描述

我可以通过 Azure 流分析查询将 IoT 传感器数据插入 Azure SQL 数据库,

SELECT  
* 
INTO
    myazuredb
FROM 
    mystreamin 

除了每次采集传感器样本外,流分析会创建大约 60 条完全相同的消息并将它们插入数据库。我希望根据相同的 Date TIMESTAMP 为每个样本插入 1 行。我的第一个想法是尝试 GROUP BY,但在阅读了一些有关流分析查询语言的信息后,我尝试了。

SELECT CollectTop(1) OVER (ORDER BY Date ASC) as Date  
INTO
    myazuredb
FROM 
    mystreamin TIMESTAMP BY Time
GROUP BY Date, TumblingWindow(second, 60)

这个查询没有插入任何东西,我什至不确定我是否在正确的轨道上。关于如何解决这个问题的任何想法都会很棒。表:日期、DeviceId、温度、湿度、湿度、EventProcessedUtcTime、PartitionId、EventEnqueuedUtcTime、IoTHub、EventID

标签: azure-sql-databaseazure-stream-analytics

解决方案


SELECT TopOne() OVER (ORDER BY Date ASC) as Date
INTO
myazuredb
FROM mystreamin TIMESTAMP BY Time
GROUP BY Date, TumblingWindow(second, 60)

TopOne()根据排序返回最高记录。


推荐阅读