我的数据集如下:
revenue country date
100 US 3/13/2014
200 US 3/14/2014
300 CA 3/13/2014
150 US 3/13/2013
200 CA 3/13/2013
如何运行查询以将去年同一天的收入计入另一列?
revenue country data revenue_last_year
100 US 3/13/2014 150
200 US 3/14/2014 0 or null
300 CA 3/13/2013 200
提前致谢!
答案 0 :(得分:1)
实际上,您在同一数据集上加入了两个查询。让我们说你的桌子叫做CountryRevenue。
选择 A.revenue,A.country,A.date,B.revenue为revenue_last_year 从 (SELECT * FROM CountryRevenue,YEAR(date)= 2014)AS A. 内部联接 (SELECT * FROM Country Revenue WHERE YEAR(date)= 2013)AS B. 上 A.country = B.country
这样的事情应该做你想做的事。
答案 1 :(得分:1)
去年在给定日期的收入:
select revenue, country, date
, (
select revenue
from revenue r2
where r1.country=r2.country
and r1.date = dateadd(yy,1,r2.date)
) as LastYearRevenue
from revenue r1
检查SQLFiddle。