如何获取每个月和年初至今的总计(SQL查询)
我需要得到每个公司每个月所有PMT的总数,然后得到到年迄今为止月份的完整“总数”YTD这是我的记录表。还有它下面的编解码器如何获取每个月和年初至今的总计(SQL查询),sql,sql-server,totals,Sql,Sql Server,Totals,我需要得到每个公司每个月所有PMT的总数,然后得到到年迄今为止月份的完整“总数”YTD这是我的记录表。还有它下面的编解码器 Jan-14 Feb-14 Mar-14 Apr-14 2014 YTD Alpha corp 10 24 18 10 62 zeen corp 10 14 16 21 61 open corp 20 6 18 12 56 geez corp 15 5 14 8 42 mine corp 5 7
Jan-14 Feb-14 Mar-14 Apr-14 2014 YTD
Alpha corp 10 24 18 10 62
zeen corp 10 14 16 21 61
open corp 20 6 18 12 56
geez corp 15 5 14 8 42
mine corp 5 7 16 12 40
little corp 10 5 7 10 32
Vize corp 4 5 20 2 31
deng corp 5 9 8 9 31
nine corp 7 5 8 10 30
wash corp 5 8 7 10 30
hass corp 6 9 8 7 30
2014 YTD 77 97 144 222 445
2014年总产量
Jan-14 Feb-14 Mar-14 Apr-14 2014 YTD
Alpha corp 10 24 18 10 62
zeen corp 10 14 16 21 61
open corp 20 6 18 12 56
geez corp 15 5 14 8 42
mine corp 5 7 16 12 40
little corp 10 5 7 10 32
Vize corp 4 5 20 2 31
deng corp 5 9 8 9 31
nine corp 7 5 8 10 30
wash corp 5 8 7 10 30
hass corp 6 9 8 7 30
2014 YTD 77 97 144 222 445
及
Jan-14 Feb-14 Mar-14 Apr-14 2014 YTD
Alpha corp 10 24 18 10 62
zeen corp 10 14 16 21 61
open corp 20 6 18 12 56
geez corp 15 5 14 8 42
mine corp 5 7 16 12 40
little corp 10 5 7 10 32
Vize corp 4 5 20 2 31
deng corp 5 9 8 9 31
nine corp 7 5 8 10 30
wash corp 5 8 7 10 30
hass corp 6 9 8 7 30
2014 YTD 77 97 144 222 445
假设使用SQL Server(基于语法),您可以执行以下操作:
Jan-14 Feb-14 Mar-14 Apr-14 2014 YTD
Alpha corp 10 24 18 10 62
zeen corp 10 14 16 21 61
open corp 20 6 18 12 56
geez corp 15 5 14 8 42
mine corp 5 7 16 12 40
little corp 10 5 7 10 32
Vize corp 4 5 20 2 31
deng corp 5 9 8 9 31
nine corp 7 5 8 10 30
wash corp 5 8 7 10 30
hass corp 6 9 8 7 30
2014 YTD 77 97 144 222 445
select a.first_name + a.last_name,
sum(case when Month(b.funded_date) = 1 Then 1 else 0 End) Janurary,
sum(case when Month(b.funded_date) = 2 Then 1 else 0 End) Feburary ,
sum(case when Month(b.funded_date) = 3 Then 1 else 0 End) March,
sum(case when Month(b.funded_date) = 4 Then 1 else 0 End) April,
sum(case when Month(b.funded_date) <= 4 then 1 else 0 end) as YTD
from tContact a Inner join
tContract b
On a.contact_id = b.contract_id
Group by first_name + last_name with rollup;
选择a.first\u name+a.last\u name,
金额(如果月份(b.U日期)=1,则1,否则0结束)1月,
总和(如果月份(b.U日期)=2,则1,否则0结束)2月,
总和(如果月份(b.U日期)=3,则1,否则0结束)3月,
总和(如果月份(b.U日期)=4,则1,否则0结束)4月,
sum(case when Month(b.funded_date))这是一个显示问题,例如,您需要在客户端代码中执行某些操作。您的查询将正确返回每月数据。在所有这些之后,SQL的工作不是为您提供总计。您可以尝试mysql的“with rollup”选项,但最好在客户端求和。您使用的是什么数据库?我使用的是MYSQL(Sql server 2008 r2)MYSQL不是Sql server