sql server求助 统计客户a,b同一季度的增长率,如a客户2014年一季度比2013年一季度增长的百分比

dsring 2015-09-23 01:22:41
客户 年份 第一季度销售额 第二季度销售额 第三季度销售额 第四季度销售额
a 2013 10000 12000 14000 16000
b 2013 2000 2400 2800 3000
a 2014 12000 14000 16000 18000
b 2014 2400 2800 3000 3200
b 2015 2800 3000 3200 3600
...全文
165 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
结果的格式是怎样的
天-笑 2015-09-23
  • 打赏
  • 举报
回复

 declare @Data table (
 C			CHAR(1)	 ,
 Y			INT ,
 S1			INT,
 S2			INT,
 S3			INT,
 S4			INT)

 INSERT INTO @Data
 select 'a',2013,10000,12000,14000,16000 union all
 select 'b',2013,2000,2400,2800,3000 union all
 select 'a',2014,12000,14000,16000,18000 union all
 select 'b',2014,2400,2800,3000,3200 union all
 select 'b',2015,2800,3000,3200,3600

 ;With T as (
	 select row_number() over (partition by c order by Y asc) as RowNO,* 
	 from @Data
)
select a.C,a.Y, (b.S1-a.S1)*100.0/a.S1 as RS1,(b.S2-a.S2)*100.0/a.S2 as RS2,
				(b.S3-a.S3)*100.0/a.S3 as RS3,(b.S4-a.S4)*100.0/a.S4 as RS4
from T a left join T b on a.c = b.c and  a.RowNO = b.rowno + 1

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧