sql 按照天环比_请高手帮助怎么写出连续的动态的环比SQL

SQL code--建立视图或cte

create view v_Customer

as

select Orders.OrderDate,Customers.CompanyName as Customer,

[Order Details].UnitPrice* [Order Details].Quantity as SalesAmount,[Order Details].Quantity from Orders

inner join [Order Details]

on Orders.OrderID=[Order Details].OrderID

left join Customers

on Orders.CustomerID=Customers.CustomerID

go

/*

with v_Customer as

(

select Orders.OrderDate,Customers.CompanyName as Customer,

[Order Details].UnitPrice* [Order Details].Quantity as SalesAmount,[Order Details].Quantity from Orders

inner join [Order Details]

on Orders.OrderID=[Order Details].OrderID

left join Customers

)

*/

---利用视图或cte查询

select ta.*,

ta.SalesAmount*1.0/tb.SalesAmount as [环比SalesAmount],

ta.Quantity*1.0/tb.Quantity as [Quantity]

from

(select convert(varchar(7),OrderDate,120) as OrderDate,

max(OrderDate) as OrderDate1,

Customer,

sum(SalesAmount) as SalesAmount,sum(Quantity) as Quantity

from v_Customer

group by convert(varchar(7),OrderDate,120),Customer) as ta

left join

(select convert(varchar(7),OrderDate,120) as OrderDate,

max(OrderDate) as OrderDate1,

Customer,

sum(SalesAmount) as SalesAmount,sum(Quantity) as Quantity

from v_Customer

group by convert(varchar(7),OrderDate,120),Customer) as tb

on datediff(mm,tb.OrderDate1,ta.OrderDate1)=1

and ta.Customer=tb.Customer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值