SQL 查找企业的连续亏损天数

查找出至少连续3天下单的用户。

第一步:将订单表按UserId分组根据日期Date排序

第二步:用日期Date减去对应的排序号Num,若日期是连续的,则相减的结果Datedif相等。

第三步:按UserId,Datedif分组计数,得到各用户的连续下单天数。

第四步:筛选连续下单天数≥n的用户

sql 查询至少连续n天下单的用户 - 园狐 - 博客园下图为一张订单表(order1),现希望查找出至少连续3天下单的用户。 第一步:将订单表按UserId分组根据日期Date排序 第二步:用日期Date减去对应的排序号Num,若日期是连续的,则相减的结https://www.cnblogs.com/alidata/p/13535139.html

表结构

SQL

 

按company分组,根据日期day排序。用日期减去对应的排序号rn,若日期是连续的,则相减的结果a 相等

各公司的连续亏损天数

 

 

with t1 as (select * from t_value where value < 0)
, t2 as (select *, row_number() over(partition by company order by day) as rn from t1)
, t3 as (select *, (day - (rn || ' day')::interval) as a from t2)
, t4 as (select *, count(1) over(partition by company, a order by day) as num_day from t3)
select * from t4 where num_day > 2;

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beOkWithAnything

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值