我对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)