我在查询(date
和total
)中返回两列。
例如
date1, 11231
date2, 11239
date3, 11341
我想知道是否可以在查询中创建另一列来显示与上一个总数的差异?
我根本无法更改 sql 表的结构,这是否最适合视图?
谢谢你的帮助。
问候
杰森
我在查询(date
和total
)中返回两列。
例如
date1, 11231
date2, 11239
date3, 11341
我想知道是否可以在查询中创建另一列来显示与上一个总数的差异?
我根本无法更改 sql 表的结构,这是否最适合视图?
谢谢你的帮助。
问候
杰森
In SQL Server 2012 you could use LAST_VALUE over partitions.
Use LAG() Analytic function if available in your version of SQL-you did not specify. There is also LEAD() function available...
我正在尝试一些东西,也许会有所帮助:
表创建
create table Demo (TotalDate date, Total int);
insert into Demo(TotalDate, Total)
values ('2012-01-01', 11000);
insert into Demo(TotalDate, Total)
values ('2012-02-02', 12000);
insert into Demo(TotalDate, Total)
values ('2012-03-03', 14000);
选择查询
SELECT
TotalDate ,
Total,
(SELECT TOP 1 d.Total - d1.Total
FROM Demo d1 WHERE d1.TotalDate < d.TotalDate ORDER BY d.TotalDate ASC) AS SubTotal
FROM
Demo d