34,590
社区成员
发帖
与我相关
我的任务
分享
create table [#TB]([zid] int,[data] numeric(2,1))
insert [#TB]
select 1,0.5 union all
select 2,1.0 union all
select 3,1.5 union all
select 4,3.5
GO
select *,sumData=(select isnull(sum(data),0) from #tb t where t.zid<#tb.zid) from #tb
--t.zid<#tb.zid
/**
zid data sumData
----------- --------------------------------------- ---------------------------------------
1 0.5 0.0
2 1.0 0.5
3 1.5 1.5
4 3.5 3.0
(4 行受影响)
**/
create table [#TB]([zid] int,[data] numeric(2,1))
insert [#TB]
select 1,0.5 union all
select 2,1.0 union all
select 3,1.5 union all
select 4,3.5
GO
select *,sumData=(select isnull(sum(data),0) from #tb t where t.zid<#tb.zid) from #tb
--t.zid<#tb.zid
/**
zid data sumData
----------- --------------------------------------- ---------------------------------------
1 0.5 0.0
2 1.0 0.5
3 1.5 1.5
4 3.5 3.0
(4 行受影响)
**/
SELECT SUM(data)-(SELECT DISTINCT [data] FROM [表名] WHERE zid=(SELECT MIN(zid) FROM [表名]) ) FROM [表名]
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO
---->建表
create table [TB]([zid] int,[data] numeric(2,1))
insert [TB]
select 1,0.5 union all
select 2,1.0 union all
select 3,1.5 union all
select 4,3.5
GO
--> 查询结果
select [zid] ,
[data] =(select sum(isnull([data],0)) from [TB] where zid <= a.[zid])
from [TB] a
--> 删除表格
--DROP TABLE [TB]
--zid data
1 0.5
2 1.5
3 3.0
4 6.5
--> 测试数据: #tb
if object_id('tempdb.dbo.#tb') is not null drop table #tb
go
create table #tb (zid int,data numeric(2,1))
insert into #tb
select 1,0.5 union all
select 2,1.0 union all
select 3,1.5 union all
select 4,3.5
select zid,
data=(select sum(data) from #tb where zid<=t.zid)
from #tb t
zid data
----------- ---------------------------------------
1 0.5
2 1.5
3 3.0
4 6.5
(4 行受影响)
???
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO
---->建表
create table [TB]([zid] int,[data] numeric(2,1))
insert [TB]
select 1,0.5 union all
select 2,1.0 union all
select 3,1.5 union all
select 4,3.5
GO
--> 查询结果
SELECT zid,case when zid= 1 then data else data+1 end
FROM [TB]
--> 删除表格
--DROP TABLE [TB]