如果值互为补充,则合并两个连续的行

时间:2014-10-20 23:07:07

标签: sql postgresql window-functions

假设我有表,列c按ASC排序,表包含空值

id  a    b    c   d   
1  'a1' 'b1'  1  'd1'
2  'a2' 'b2'  2
3             5  'd3'
4  'a4' 'b4'  6  'd4'
5  'a5' 'b5'  7  
6             8  'b6'

需要以某种方式进行处理,

  1. 如果两行'互相称赞'(如id = 2和id = 3)
  2. 两行c值的差异是< = 1(如id = 7和id = 8)
  3. 1)和2)同时完成,然后两行应该向上组合成一个

    id = 7且id = 8合并为

    5  'a5'  'b5'  7   'b6'
    

    并且应删除id=6行。如何在Postgres中实现?

0 个答案:

没有答案