首页 > 数据库技术 > 详细

sqlserver 计算同比增长

时间:2017-05-22 10:48:33      阅读:1217      评论:0      收藏:0      [点我收藏+]
/****** Script for SelectTopNRows command from SSMS  ******/
SELECT  [fdSequenceID]
      ,[fdInnerTime]
      ,[fdTime]
      ,[fdData]
      ,[fdState]
      ,[fdUpdateTime]
      ,[fdCreateTime]
  FROM [NewDBTest].[dbo].[tbDataMonthHG]
  


WITH f AS 
(
  SELECT ROW_NUMBER()OVER(   partition by fdSequenceID ORDER BY fdTime) AS id, * FROM [NewDBTest].[dbo].[tbDataMonthHG]
)

select t.*,
       fdRate=(cast(cast(100*((t.fdData/NULLif(d.fdData,0))-1) as numeric(25,10)) as  varchar(50))+% )   --小数变百分数
       from f t
left join f d on
       t.fdInnerTime = DateAdd(year,1,d.fdInnerTime) and t.fdSequenceID = d.fdSequenceID  --同比增长
       order by fdSequenceID,id asc 
       

 

sqlserver 计算同比增长

原文:http://www.cnblogs.com/laozhanghahaha/p/6888254.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!