我有一张table,看起来像:
SITE LOWER UPPER SIZE
a.com 0.1 0.2 10
a.com 0.2 0.3 10
a.com 0.3 0.4 10
a.com 0.7 0.8 10
a.com 0.9 1.0 10
b.com 0.1 0.2 20
a.com 0.6 0.7 30
我想要的结果是:
SITE LOWER UPPER SIZE
a.com 0.1 0.4 10
a.com 0.7 1.0 10
b.com 0.1 0.2 20
a.com 0.6 0.7 30
所以对于一个 SITE
以及 SIZE
一对,我需要压缩 LOWER
以及 UPPER
值在哪里 LOWER
按行分组的最小值是第一行和 UPPER
是最后一行的最大值。 LOWER
以及 UPPER
类似于某些bucket的上下限值(例如[0.1,0.2]),我只需要将连续的bucket压缩在一起。在这方面任何帮助都将不胜感激。
1条答案
按热度按时间a0zr77ik1#
可以使用变量将组id分配给相邻行:
然后可以聚合以获得所需内容:
这是一个sql小提琴。