Cosmos DB sql查询以获得最高值的pr天



我对cosmos数据库比较陌生。我创建了一个温度测量数据库,每5分钟添加一次新值。

以下是集合中项目的示例:

{
"id": "3445609a-c4ae-44b3-b8fa-a2e55082558b",
"temp": 14.31,
"timestamp": "2020-09-24T18:56:48.7828653+00:00",
"probeid": "01",
"lightvalue": "0",
"RelativeHumidity": "50.10"
}

在得知_ts值可以用于此之前,我最初添加了时间戳值。

我仍处于逻辑设计阶段,试图找出最佳模式,以使其稳定且低资源成本。

用例是:webUI中显示的给定时间段内每天的最大、最小、平均测量值。

此SQL是否满足您的要求?

SELECT MAX(c.temp) as max_temp,MIN(c.temp) as min_temp,AVG(c.temp) AS average_temp,LEFT(toString(TimestampToDateTime(c._ts*1000)),10) AS day  
FROM c 
WHERE c._ts*1000 < GetCurrentTimestamp() 
GROUP BY LEFT(toString(TimestampToDateTime(c._ts*1000)),10)

最新更新