首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗口函数滤波

窗口函数滤波
EN

Stack Overflow用户
提问于 2018-02-08 14:16:58
回答 1查看 86关注 0票数 0

是否可以使用窗口函数进行过滤?

我有下一张桌子

代码语言:javascript
复制
ID    AssignedDate    StartDate    EndDate   userid   Role
1     1/1/17            1/1/18      2/1/18     rdsd    Red
1     1/15/17           1/1/18      2/1/18     adfd    Red
* 1     12/15/17          1/1/18      2/1/18     dfge    Red

我希望看到每个ID有一行和一个名为FirstAssgnDate的新列

首先-获取在startDate之前发生的所有分配日期,然后取最大assignedDate (当角色= REd )

产出应是:

表格

代码语言:javascript
复制
ID    FirstAssgnDate    StartDate    EndDate   userid   Role
1     12/15/17            1/1/18      2/1/18    dfge    Red

*这一行应返回。

我在想像下面这样的事情?

代码语言:javascript
复制
  Select *
  max(assignedDate) Keep(when AssignedDate < StartDate) As FirstAssgnDate
  from tablea
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-08 14:45:33

我不认为我们需要使用window函数--简单的聚合函数就能工作,如果您只需要检查这些记录,角色为Red和assigneddate < startdate (至少我从您的问题中了解到这一点),我们可以在where子句筛选器中使用以下内容:

代码语言:javascript
复制
    select id,max(assigneddate),startdate,enddate,userid,role
    from tablea
    where asssigneddate < startdate and 
    role = 'Red'
    group by id,startdate,enddate,userid,role;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48687627

复制
相关文章

相似问题

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