首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用sql将相邻数据平均为新表的Postgresql

用sql将相邻数据平均为新表的Postgresql
EN

Stack Overflow用户
提问于 2017-11-21 14:47:34
回答 1查看 34关注 0票数 0

这是数据结构。date是唯一的,但可能会丢失(意思是跳过日期,但不是NULL),并且是无序的。如果记录的数量是奇数,只需省略最后一个记录。

代码语言:javascript
复制
date       | value | value2
-----------+-------+--------
2017-10-11 |    10 |    0.2
2017-10-13 |    22 |    0.3
2017-10-12 |     6 |    0.0
2017-10-14 |    20 |    0.6
         ...

我希望使用记录到合并的值的平均与新值合并最近的两个记录。只使用。

期待结果。

代码语言:javascript
复制
date       | value | value2
-----------+-------+--------
2017-10-11 |     8 |    0.1
2017-10-13 |    21 |   0.45
         ...

2017-10-11 merged 2017-10-11 and 2017-10-12, i.e. value = AVG(10,6) = 8
2017-10-13 merged 2017-10-13 and 2017-10-14, i.e. value = AVG(22,20) = 21
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-21 15:14:33

代码语言:javascript
复制
select min(date), avg(value), avg(value2)
  from (
    select *, (row_number() over(order by date)-1)/2 grp
      from Table1
  ) X
group by grp

基于sqlfiddle.com的演示

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

https://stackoverflow.com/questions/47415905

复制
相关文章

相似问题

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