34,593
社区成员
发帖
与我相关
我的任务
分享
if not object_id(N'Tempdb..#tab') is null
drop table #tab
Go
Create table #tab([工号] nvarchar(23),[姓名] nvarchar(22),[计件奖金] int)
Insert #tab
select N'001',N'张三',40 union all
select N'001',N'张三',20 union all
select N'002',N'李四',30 union all
select N'002',N'李四',20 union all
select N'003',N'王五',20
Select a.工号,姓名,a.计件奖金
From (
Select 工号,sum(计件奖金) as 计件奖金 From #Tab Group By 工号
) a
Join (Select 工号,姓名,Row_No=Row_number() over (partition by 工号 Order By 工号) From #tab) b on a.工号=b.工号
Where Row_No=1
工号 姓名 计件奖金
----------------------- ---------------------- -----------
001 张三 60
002 李四 50
003 王五 20
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([工号] nvarchar(23),[姓名] nvarchar(22),[计件奖金] int)
if not object_id(N'Tempdb..#T2') is null
drop table #T2
Go
Create table #T2([工号] nvarchar(23),[姓名] nvarchar(22),[汇总奖金] int)
Insert #T
select N'001',N'张三',40 union all
select N'001',N'张三',20 union all
select N'002',N'李四',30 union all
select N'002',N'李四',20 union all
select N'003',N'王五',20
Go
--测试数据结束
INSERT INTO #T2
( 工号 ,
姓名 ,
汇总奖金
)
SELECT 工号 ,
姓名 ,
SUM(计件奖金)
FROM #T
GROUP BY 工号 ,
姓名;
SELECT * FROM #T2
use Tempdb
go
--> --> 听雨停了-->测试数据
if not object_id(N'Tempdb..#tab') is null
drop table #tab
Go
Create table #tab([工号] nvarchar(23),[姓名] nvarchar(22),[计件奖金] int)
Insert #tab
select N'001',N'张三',40 union all
select N'001',N'张三',20 union all
select N'002',N'李四',30 union all
select N'002',N'李四',20 union all
select N'003',N'王五',20
--测试数据结束
--INSERT INTO 表名 --(前提是这个表已经创建了,如没创建,就直接在下面into 表名字)
SELECT 工号,
[姓名],
SUM(计件奖金)
--INTO 表名 --(自动创建一个表把查询结果插入)
FROM #tab
GROUP BY 工号,
[姓名]
工号 姓名
----------------------- ---------------------- -----------
002 李四 50
003 王五 20
001 张三 60