SQL访问Group By和Sum

时间:2015-05-19 13:53:39

标签: sql sql-server ms-access group-by

我的SQL语句出现了MS Access问题。

我有公司和团队,他们每个人都有钱。 (Company1可以拥有1,2,3,4团队,而Company2可以拥有1,2,3,4,5团队。虽然Comapny1 team1与Company2 team1不同!)

但是我有大量的条目,每个条目都对应一个卖家。

我想总结每家公司和每个团队的每笔余额,无论它是哪个卖家:

我实际上有:

    SELECT Company, Team, Sum(Balance) AS tot_balance
    FROM Retro2014
    GROUP BY Company, Team

但是当我手动加总时,数量应该是5到10倍。 (但我有大约1200个卖家,我不能手动完成所有这些)

编辑:我想要的是这样的:

Company  Team  tot_balance
-------  ----  -----------
Company1 Team1 1000
Company1 Team2 1530
Company1 Team3 120
Company1 Team4 500
Company2 Team1 800
Company2 Team2 750
Company2 Team3 420
Company2 Team4 820
Company2 Team5 120
...      ...   ...

EDIT2:

我现在拥有这些价值观:

Company Team    tot_balance REAL_Balance
10      90      2 534.60    269.06
10      92      813.30      120.89
10      95      1 384.75    210.89
10      96      950.72      142.43
10      97      3 957.03    789.92
10      98      4 822.34    1128.71

EDIT3:源值是:

COMPANY TEAM    SELLER  BALANCE
10      50              123.65
10      90      L07630  245.06
10      90      L07630  4
10      90      L07630  8
10      90      L07630  4
10      90      L07630  8
10      92      L96420  32.93
10      92      L96420  87.96
10      95              35.74
10      95              16
10      95              4
10      95              12
10      95              12
10      95              131.15
10      96      L04771  65.5
10      96      L04771  12
10      96      L04771  8
10      96      L04771  8
10      96      L04771  48.93
10      97      L94605  61.93
10      97      L94605  4
10      97      L94605  8
10      97      L94605  233.76
10      97      L94605  344.97
10      97      L94605  90.33
10      97      L94605  38.93
10      97      L94605  4
10      97      L94605  4
10      98      L95652  42.51
10      98      L95652  34.75
10      98      L95652  549.26
10      98      L95652  320.36
10      98      L95652  20
10      98      L95652  112.58
10      98      L95652  41.25
10      98      L95652  8

谢谢,

菲尔

1 个答案:

答案 0 :(得分:1)

只要表格不包含公司,团队,余额的多个条目 比你的SQL应该工作得很好。 但是考虑到你解释的问题,我认为有比显示的更多的值,因此可能导致更多的行具有多次显示的相同信息,这将导致不正确的夏季化。以下是我的建议:

Select Company, Team, Sum(Balance) as tot_balance from (
SELECT Company, Team, Balance
FROM Retro2014
GROUP BY Company, Team, Balance ) as b
GROUP by Company, Team