【发布时间】:2021-11-06 16:00:33
【问题描述】:
我有一张如下表:
| user_id | store_id | stock | date |
|---|---|---|---|
| 116 | 2 | 0 | 2021-10-18 |
| 116 | 2 | 0 | 2021-10-19 |
| 116 | 2 | 0 | 2021-10-20 |
| 116 | 2 | 0 | 2021-08-16 |
| 116 | 2 | 0 | 2021-08-15 |
| 116 | 2 | 0 | 2021-07-04 |
| 116 | 2 | 0 | ,2021-07-03 |
| 389 | 2 | 0 | 2021-07-02 |
| 389 | 2 | 0 | 2021-07-01 |
| 389 | 2 | 0 | 2021-10-27 |
| 52 | 6 | 0 | 2021-10-28 |
| 52 | 6 | 0 | 2021-10-29 |
| 52 | 6 | 0 | 2021-10-30 |
| 116 | 38 | 0 | 2021-05-02 |
| 116 | 38 | 0 | 2021-05-03 |
| 116 | 38 | 0 | 2021-05-04 |
| 116 | 38 | 0 | 2021-04-06 |
该表可以连续多天出现产品缺货的情况,因此我想使用产品缺货的最后一个 startDate 和 endDate 创建一个查询。对于上表,结果必须是:
| user_Id | store_id | startDate | endDate |
|---|---|---|---|
| 116 | 2 | 2021-10-18 | 2021-10-20 |
| 116 | 38 | 2021-05-02 | 2021-05-04 |
| 389 | 2 | 2021-07-01 | 2021-07-02 |
| 52 | 6 | 2021-10-28 | 2021-10-30 |
我已经尝试了使用 row_number() 的解决方案,但没有成功。有人有使用 SQL (PostgreSQL) 解决此问题的提示或想法吗?
【问题讨论】:
-
在您的表格中显示
store_id,并在结果中显示warehouse_id。它们看起来是一样的,是吗? -
请提供minimal reproducible example,并确保包含您尝试过的查询以及该查询产生的结果。
-
@AdrianKlaver thx,我已经编辑了表格
标签: sql postgresql