azure-sql-database - 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
解决方案
SELECT TopOne() OVER (ORDER BY Date ASC) as Date
INTO
myazuredb
FROM mystreamin TIMESTAMP BY Time
GROUP BY Date, TumblingWindow(second, 60)
TopOne()根据排序返回最高记录。