首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >where子句中的pipelinedb聚合

where子句中的pipelinedb聚合
EN

Stack Overflow用户
提问于 2015-09-30 23:12:43
回答 1查看 187关注 0票数 0

我正在使用pipelinedb测试来自传感器的数据流的一些分析。例如,我希望能够在流中找到由聚合定义的事件。例如,查找最近5分钟内最高(温度)和最低(温度)之间的差值超过一定范围的事件。

当尝试将聚合放在WHERE子句中时,我收到一条错误消息,类似于“连续视图中不允许聚合where类”。

我是不是漏掉了什么,还是根本不可能?

另外,我非常非常喜欢pipelinedb!

嗯,pipelinedb说:“连续查询不支持HAVING子句”。

我想要做的是:

我有一个名为geo_vital_stream的流,它将一些传感器数据与地理位置一起发送。目前我感兴趣的是

代码语言:javascript
复制
insert into geo_vital_stream (device_id, user_id, measured_at, heartrate, energy, eda, lon, lat)  VALUES( 'A005D8-E4 2.0',1,'2015-10-08 15:04:33.134000+02',96.8497201823,351.056269367,0.505791,8.07154018407,52.9531484103 );

我的简历是这样的:

代码语言:javascript
复制
CREATE CONTINUOUS VIEW cv_sensor_eda AS 
SELECT user_id::integer, 
       MAX(eda::numeric) -  MIN(eda::numeric) as range_eda

FROM geo_vital_stream
WHERE (measured_at > clock_timestamp() - interval '1 minutes')
GROUP BY user_id

现在,我只对那些“事件”感兴趣,在这些事件中,范围(range_eda在最后一分钟执行某个值)。

EN

回答 1

Stack Overflow用户

发布于 2015-10-07 02:14:44

在SQL子句中使用聚合实际上不是合法的WHERE。这是通过使用HAVING子句实现的,但在这里似乎不需要这样做。由于聚合跨多行计算值,因此我不清楚如何根据聚合(minmax)跨多个事件检索单个事件。你能举例说明每个事件是什么样子吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32869701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档