基于多个外键在单列上执行SQL函数

时间:2013-11-07 02:15:11

标签: sql dimensional-modeling infinidb

我在尝试设计维度数据库时遇到了这个问题。基本上我有一个事实表(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

1 个答案:

答案 0 :(得分:1)

为什么不使用select sum(sales)之类的东西作为'total'来自table,其中date = Monday groupby pid,cid ......