首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle分组多次出现

问Oracle分组多次出现
EN

Stack Overflow用户
提问于 2019-06-05 23:13:05
回答 1查看 17关注 0票数 1

我需要一个关于以下问题的解决方案

代码语言:javascript
复制
Group  Begindate enddate     
a1       1/1/2019   2/1/2019 
a1       2/1/2019   3/1/2019
a2       3/1/2019   3/2/2019
a2       3/2/2019   3/4/2019
a1       3/4/2019   3/5/2019
a1       3/5/2019   4/1/2019

在上面的代码中,我需要根据发生的情况获得三个组。首先出现的是a1,然后是a2,然后是a1。我的结果应该是这样的:

代码语言:javascript
复制
group  min(begindate)
a1      1/1/2019
a2       3/1/2019
a1       3/4/2019

任何帮助都将不胜感激..

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 23:43:46

这是一个gaps and islands问题。

代码语言:javascript
复制
SELECT group_id,MIN(begindate)
FROM ( SELECT t.*,ROW_NUMBER() OVER( order BY begindate
       ) - ROW_NUMBER() OVER(
            PARTITION BY group_id
            ORDER BY begindate
       ) AS seq
       FROM t
     )
GROUP BY group_id,seq
ORDER BY 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56463342

复制
相关文章

相似问题

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