首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置单元查找组或更改点的开始和结束

配置单元查找组或更改点的开始和结束
EN

Stack Overflow用户
提问于 2016-04-02 15:44:05
回答 1查看 293关注 0票数 5

下面是表格:

代码语言:javascript
复制
+------+------+
| Name | Time |   
+------+------+
| A    |    1 |   
| A    |    2 |   
| A    |    3 |   
| A    |    4 |   
| B    |    5 |   
| B    |    6 |   
| A    |    7 |   
| B    |    8 |   
| B    |    9 |   
| B    |   10 |   
+------+------+

我想写一个查询来获取:

代码语言:javascript
复制
+-------+--------+-----+
| Name  | Start  | End |
+-------+--------+-----+
| A     |     1  |   4 |
| B     |     5  |   6 |
| A     |     7  |   7 |
| B     |     8  |  10 |
+-------+--------+-----+

有人知道怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-13 04:41:00

这不是最有效的方法,但它是有效的。

代码语言:javascript
复制
SELECT name, min(time) AS start,max(time) As end 
FROM (
   SELECT name,time, time- DENSE_RANK()  OVER (partition by name ORDER BY 
   time) AS diff
   FROM foo
) t 
GROUP BY name,diff;

我建议尝试以下查询并构建一个GenericUDF来识别差距,这样会更容易:)

代码语言:javascript
复制
SELECT name, sort_array(collect_list(time)) FROM foo GROUP BY name;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36370624

复制
相关文章

相似问题

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