怎样写这样的统计语句????

lllqe 2003-08-15 10:55:47
有以下表:
单据号,维修人组成主键
单据号,维修人,维修编码
b1 001 101
b1 002 101
b2 001 201
b2 002 201
b2 003 201
现在就是分维修人,维修编码统计维修的次数
即统计结果是
维修人 维修编码 次数
001 101 0.5
002 101 0.5
001 201 0.33
002 201 0.33
003 201 0.33
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
愉快的登山者 2003-08-15
  • 打赏
  • 举报
回复
select 维修人, 维修编码,
(select cast(1/count(*) as decimal(8,2)) from yourtable
where 单据号 = A.单据号) 次数 from yourtable A
order by 维修编码, 维修人
97866 2003-08-15
  • 打赏
  • 举报
回复
Select a.维修人,a.维修编码,Cast((1/(tmp.次数+0.00)) as decimal(8,2)) as 次数 from (Select 维修编码,次数=Count(*) from 表名 Group by 维修编码)tmp,表名 a where tmp.维修编码=a.维修编码
dafu71 2003-08-15
  • 打赏
  • 举报
回复
declare @tb table(单据号 varchar(10),维修人 varchar(20),维修编码 varchar(10))
insert @tb values('b1','001','101')
insert @tb values('b1','002','101')
insert @tb values('b2','001','201')
insert @tb values('b2','002','201')
insert @tb values('b2','003','201')
select 维修人,维修编码 ,(select cast(1/cast(count(*) as numeric(10,2)) as numeric(5,2)) from @tb where 单据号=tmp.单据号) as 次数
from @tb as tmp


---------------
维修人 维修编码 次数
001 101 .50
002 101 .50
001 201 .33
002 201 .33
003 201 .33
happy_0325 2003-08-15
  • 打赏
  • 举报
回复
select 维修人,维修编码,count(*) from table group by 维修人,维修编码
97866 2003-08-15
  • 打赏
  • 举报
回复
Select 维修人,维修编码,Cast((a.次数/(tmp.次数+0.00)) as decimal(8,2)) as 次数 from (Select 维修编码,次数=Count(*) from table Group by 维修编码)tmp,table a where tmp.维修编码=a.维修编码
pengdali 2003-08-15
  • 打赏
  • 举报
回复
select 维修人,维修编码,cast(sum(1)/(select sum(1)+0.0 from 你的表 where 单据号 in (select 单据号 from 你的表 where 维修人=tem.维修人 and 维修编码=tem.维修编码)) as numeric(10,2)) 次数 from 你的表 tem group by 维修人,维修编码

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧