【发布时间】:2021-08-01 05:23:30
【问题描述】:
我有一张表,当根据周数排序时,它会给出商店中产品的剩余单位。剩下的单位应该总是减少。但是,由于存在一些垃圾值,因此留在商店中的单位会在几周内增加,然后再次减少。我只有这四列可以使用。我想用正确的值替换垃圾值。我正在寻找以下垃圾值替换逻辑的 SQL - 每周剩余的单位应该是其上方所有行的剩余单位值中的最小值,按周数升序排序。
例如在这里,第 4 周和第 5 周到 12,然后又回到 9 - 这是不正确的 - 他们 [the 12s] 应该每个都被 9 替换
输入:---
+-------+------------+-------------+------------+
| Store | Product ID | Week Number | Units left |
+-------+------------+-------------+------------+
| XXX | A1 | 1 | 10.0 |
| XXX | A1 | 2 | 9 |
| XXX | A1 | 3 | 9 |
| XXX | A1 | 4 | 12 |
| XXX | A1 | 5 | 12 |
| XXX | A1 | 6 | 9 |
| XXX | A1 | 7 | 8 |
+-------+------------+-------------+------------+
输出:----
+-------+------------+-------------+------------+
| Store | Product ID | Week Number | Units left |
+-------+------------+-------------+------------+
| XXX | A1 | 1 | 10.0 |
| XXX | A1 | 2 | 9 |
| XXX | A1 | 3 | 9 |
| XXX | A1 | 4 | 9 |
| XXX | A1 | 5 | 9 |
| XXX | A1 | 6 | 9 |
| XXX | A1 | 7 | 8 |
+-------+------------+-------------+------------+
数据库是 Teradata。
【问题讨论】:
-
我删除了不一致的数据库标签。请仅使用您真正使用的数据库进行标记。
-
添加了 teradata 标签,因为问题表明这是正在使用的标签
标签: sql data-science teradata