2011-02-22 118 views
0

我有這個SQL。林不知道這是我需要的,但它確實選擇我需要的所有記錄。我現在只需要濃縮它們,並計算獨特日期的計數和金額。SQL總計和總計的幫助

select m.account_tag, m.cmcl_forecast_cleared, m.check_amount, 
a.acct_id, a.acct_no, a.bank_id, 
b.bank_id, b.name 
from ap_master m 
join accounts a on a.acct_id=m.account_tag 
join banks b on b.bank_id=a.bank_id 
where m.cmcl_bank_cleared is null 
order by m.account_tag, m.cmcl_forecast_cleared 

我只想顯示四列帳號,日期,數量,以及總結

的賬戶就可以a.acct_no。
日期將用於該帳戶的所有獨特m.cmcl_forecast_cleared日期
計數將是那些獨特的日期檢查(記錄)總沒有(cmcl_forecast_cleared)
總和將是托馬斯•總check_amount獨特的日期(cmcl_forecast_cleared)

我希望這是可以理解的。我不知道我是否需要任何分組

回答

5
select 
    a.acct_no, m.cmcl_forecast_cleared, b.name, 
    count(*) as TotalChecks, 
    Sum(m.check_amount) as TotalAmount 
from ap_master m 
join accounts a on a.acct_id=m.account_tag 
join banks b on b.bank_id=a.bank_id 
where m.cmcl_bank_cleared is null 
group by a.acct_no, m.cmcl_forecast_cleared, b.name 
order by a.acct_no, m.cmcl_forecast_cleared, b.name 

您可以根據需要分組儘可能多的列。

+0

+1。每次需要將聚合函數與其他字段組合時,都需要按其他字段進行分組。 – 2011-02-22 23:58:23

+0

即時通訊對不起,我的壞....我需要b.name以及 – IElite 2011-02-23 00:53:16

+0

@Shane - 在這種情況下,只是由b.name組以及 – RichardTheKiwi 2011-02-23 00:57:41