首页 > 解决方案 > MySQL按用户查找连续日期和组

问题描述

我需要帮助,如果我的请求属实。我有下一张桌子:

user_id | date_at    | is_disability
1       | 2021-07-01 |       1
1       | 2021-07-02 |       0
1       | 2021-07-03 |       1
1       | 2021-07-04 |       1
1       | 2021-07-05 |       1
1       | 2021-07-06 |       1
2       | 2021-07-01 |       0
2       | 2021-07-02 |       0
2       | 2021-07-03 |       1
2       | 2021-07-04 |       1
2       | 2021-07-05 |       0
2       | 2021-07-06 |       0

在上表中,我需要按user连续天数查找和“分组”以is_disability = 1获得下一个结果:

user_id | date_at    | percent_to_pay
1       | 2021-07-01 |       75
1       | 2021-07-02 |       0
1       | 2021-07-03 |       75
1       | 2021-07-04 |       75
1       | 2021-07-05 |       75
1       | 2021-07-06 |       50
2       | 2021-07-01 |       0
2       | 2021-07-02 |       0
2       | 2021-07-03 |       75
2       | 2021-07-04 |       75
2       | 2021-07-05 |       0
2       | 2021-07-06 |       0

标准是:

  1. 当用户disability <= 3 consecutive days那时percent to pay = 75
  2. 那时consecutive days > 3_percent to pay = 50

有什么办法解决吗?

标签: mysqldays

解决方案


推荐阅读