*********小小的查询问题,分不够另开帖加,大侠们帮忙*********
id 部门 员工 员工下面的客户 每天访问网站数 日期
1 A部门 H员工 W客户 8 2007-5-7
2 A部门 H员工 Y客户 11 2007-5-7
3 A部门 I员工 Z客户 4 2007-5-7
4 B部门 J员工 O客户 10 2007-5-8
5 B部门 J员工 P客户 3 2007-5-9
5 B部门 J员工 Q客户 3 2007-5-10
上面是数据库的字段,一个部门有多个员工,一个员工下面又有多个客户,每个客户在每一天都有访问网站的次数的记录
我想按每周为自然段,统计每个部门的所有员工,统计每个员工他们下面的客户每周共访问多少次,其中访问次数大于10次的多少人,站总数的百分之几
按每周为自然段,每周运行一次SQL,把结果追加到结果表中
结果是这样的
部门 员工 客户共访问数 客户数 大于10的客户 百分比
A部门 H员工 19 2 1 1/2
A部门 I员工 4 1 0 0/1
B部门 J员工 16 3 1 1/3
注意是按周为单位统计
大侠帮忙,谢谢拉,分不够再加
[解决办法]
是统计一个具体的周还是统计所有的周?
[解决办法]
create table #t(id int,部门 varchar(100),员工 varchar(10),员工下面的客户 varchar(10),每天访问网站数 int,日期 datetime)
insert into #t select 1, 'A部门 ', 'H员工 ', 'W客户 ',8, '2007-5-7 '
insert into #t select 2, 'A部门 ', 'H员工 ', 'Y客户 ',11, '2007-5-7 '
insert into #t select 3, 'A部门 ', 'I员工 ', 'Z客户 ',4, '2007-5-7 '
insert into #t select 4, 'B部门 ', 'J员工 ', 'O客户 ',10, '2007-5-8 '
insert into #t select 5, 'B部门 ', 'J员工 ', 'P客户 ',3, '2007-5-9 '
insert into #t select 6, 'B部门 ', 'J员工 ', 'Q客户 ',3, '2007-5-10 '
select
部门,
员工,
sum(每天访问网站数) as 客户共访问数,
count(*) AS 客户数,
sum(case when 每天访问网站数> =10 then 1 else 0 end ) as 大于10的客户,
cast(sum(case when 每天访问网站数> =10 then 1 else 0 end ) as varchar(10)) + '/ ' + cast(count(*) as varchar(10)) as 百分比
from #t
group by 部门,员工
drop table #t