2015-11-03 30 views
0

我有权访问一个简单的Excel工作表我试图从Excel中获取数据SQL(jdbc-odbc bridge)。这些信息来自打印机系统,但数据每月都会发送给我,并提供累积信息。因此,举例来说,我得到这个:如何分解运行总数?

enter image description here

的问题是,我需要什么,当月11是表明我44600(82006-37406)。

我发现了很多关于如何运行总计的信息,但没有做相反的事情。

有没有办法用标准SQL做到这一点?

+0

您可以添加新的列脱颖而出?在那里,你可以减去累积量来获得单行的打印数量。如果不是,那么你必须查询两次excel,加入结果'T1.month = T2.month - 1'(加上年份比较)并相互减去total_prints。 – Arvo

回答

0

标准的SQL方法是lag()(ANSI标准在大多数数据库提供的功能):

select year, month, total_prints, 
     (total_prints - lag(total_prints) over (order by year, month)) as diff 
from t; 
+0

谢谢戈登。我测试了它,它在标准数据库上工作。不幸的是,功能滞后不适用于excel odbc。我在想这可能是一个失败的案例。 –

+0

@ valter.vx - 开发者世界里很少(如果有的话)丢失的情况:) – Arvo