我有权访问一个简单的Excel工作表我试图从Excel中获取数据SQL(jdbc-odbc bridge)。这些信息来自打印机系统,但数据每月都会发送给我,并提供累积信息。因此,举例来说,我得到这个:如何分解运行总数?
的问题是,我需要什么,当月11是表明我44600
(82006-37406)。
我发现了很多关于如何运行总计的信息,但没有做相反的事情。
有没有办法用标准SQL做到这一点?
我有权访问一个简单的Excel工作表我试图从Excel中获取数据SQL(jdbc-odbc bridge)。这些信息来自打印机系统,但数据每月都会发送给我,并提供累积信息。因此,举例来说,我得到这个:如何分解运行总数?
的问题是,我需要什么,当月11是表明我44600
(82006-37406)。
我发现了很多关于如何运行总计的信息,但没有做相反的事情。
有没有办法用标准SQL做到这一点?
标准的SQL方法是lag()
(ANSI标准在大多数数据库提供的功能):
select year, month, total_prints,
(total_prints - lag(total_prints) over (order by year, month)) as diff
from t;
谢谢戈登。我测试了它,它在标准数据库上工作。不幸的是,功能滞后不适用于excel odbc。我在想这可能是一个失败的案例。 –
@ valter.vx - 开发者世界里很少(如果有的话)丢失的情况:) – Arvo
您可以添加新的列脱颖而出?在那里,你可以减去累积量来获得单行的打印数量。如果不是,那么你必须查询两次excel,加入结果'T1.month = T2.month - 1'(加上年份比较)并相互减去total_prints。 – Arvo