Sql查询构建

时间:2021-02-01 16:02:12

标签: sql

你能帮我解决下面的问题吗,

我通过连接两个三个表来查询结果集,如下所示,

enter image description here

我的要求是获取 20170701 之后和 20170701 之前的后续两个日期。

例如。 456 个帐户具有日期条目,如 20160625、20160725、20160825、20160925、20170725、20170825、20170925..

但结果应该是 2 个条目 <20170701 > 2 个条目

例如附上截图,绿色行应该出现在最终结果中。

请帮忙

1 个答案:

答案 0 :(得分:0)

您可以使用 sum 解析函数如下:

Select * from
(Select t.*,
       Sum(case when date > 20200701 then 1 end) 
          over (partition by account order by date) as sm_i,
       Sum(case when date < 20200701 then 1 end) 
          over (partition by account order by date desc) as sm_d
  From your_table t) t
 Where sm_i between 1 and 2 or sm_d between 1 and 2
相关问题