【发布时间】:2021-02-25 03:00:58
【问题描述】:
我有一个重复 ID 的交易清单,并且我有购买的商品数量。我需要计算一次购买特定数量的物品的次数。
| Row | ItmNBR | TQTY |
|---|---|---|
| 1 | 123 | 5 |
| 2 | 123 | 5 |
| 3 | 123 | 5 |
| 3 | 456 | 25 |
| 4 | 456 | 19 |
我需要产生这样的输出......
| ItmNBR | QTY | Occurance |
|---|---|---|
| 123 | 5 | 3 |
| 123 | 19 | 1 |
| 123 | 25 | 1 |
我可以得到结果的前两列,但是当我尝试计算一个分区时,我最终会计算得到重复的数字,因为我只查找 9 个项目,我只计算 Cnt 所在的行数一样的。
TOT_IVO_ITM_QTY
Count(*) OVER (PARTITION BY QTY) AS CNT
FROM dataset
WHERE YEAR(bus_dt) = 2021
AND ITM_NBR IN (12639,12940,12949,12955,13485,13666,43950,631343,1103731)
AND QTY BETWEEN 5 AND 25
ORDER BY ITM_NBR
,QTY
GROUP BY ITM_NBR, TOT_IVO_ITM_QTY```
【问题讨论】:
-
456不应该在结果集中吗?