【发布时间】:2021-10-21 21:55:25
【问题描述】:
我在不同的日子里有大量不同产品的销售行。 我想检索每个产品和每个月的总和。过去 24 个月。
- 如何编写显示过去 24 个月的 WHERE 函数(基于表中的最新日期而非实际日期)?
- 如何按月而不是像 2018 年 1 月 24 日那样按天汇总和显示?
**Sample Data Table**
| SalesDate | Product | SLSqty |
| 2018-01-24 | Product A | 25 |
| 2019-06-10 | Product B | 10 |
| 2019-10-07 | Product C | 4 |
| 2020-03-05 | Product A | 20 |
| 2021-09-01 | Product A | 50 |
| 2021-09-01 | Product B | 10 |
| 2021-09-02 | Product C | 3 |
| 2021-09-04 | Product A | 50 |
| 2021-09-07 | Product B | 10 |
**Expected Result**
| SalesMONTH | Product | SLSqty |
| 2019-10-31 | Product C | 4 |
| 2020-03-31 | Product A | 20 |
| 2021-09-30 | Product A | 100|
| 2021-09-30 | Product A | 20 |
| 2021-09-30 | Product B | 3 |
【问题讨论】:
-
您使用的是哪个 dbms?在日期/时间方面,许多产品远不符合 ANSI SQL。
-
我们需要样本表数据和预期结果。
-
你需要使用window functions,它们的使用很大程度上取决于你的dbms
标签: sql