我在尝试设计维度数据库时遇到了这个问题。基本上我有一个事实表(sale_fact),其中包含一个代理键,几个外键(产品ID的pid,国家ID和日期的cid)和销售数据。粒度或此事实表是每天。如何根据这些外键的不同组合总结几周(或几个月)的销售数据? 例如,我想总结本周1国家1中产品1的销售数据(pid = 1和cid = 1,日期=星期一),同一周国家2中产品2的销售数据(pid = 2和cid = 2,日期=星期一)。如何在一个SQL中实现此数据?样本结果集如下:
| id | pid | cid | date | total |
| 1 | 1 | 1 | 2013-11-04 | 100 |
| 2 | 1 | 2 | 2013-11-04 | 90 |
| 3 | 1 | 3 | 2013-11-04 | 80 |
| 4 | 2 | 1 | 2013-11-04 | 91 |
......more data
答案 0 :(得分:1)
为什么不使用select sum(sales)之类的东西作为'total'来自table,其中date = Monday groupby pid,cid ......