请教asp可以选出一个记录集,然后再通过这个记录集进行筛选做统计吗?
时间:2011-09-22
来源:互联网
部门 任务名称 是否完成 任务分配时间 ……
生产1部 111 是 2011-9-21
生产1部 222 否 2011-9-21
生产2部 333 是 2011-9-21
生产2部 444 是 2011-9-21
……
现在想做的是:
按时间段统计各个部门的任务总数和完成任务的数量
自己想的是一个个的查询可以实现,但是部门多了,就得很多次查询,我想这样不是很好的方法
能不能只查询一次数据库,然后在这个结果集里面查询我要的统计结果,比如:
select * from work where 任务分配时间 between '2011-01-01' and '2011-09-21'
得到这个结果集,然后再通过这个结果集来查询,如:
select count(部门) from 上次的结果集 where 部门='生产1部 ' and 是否完成='是'
最后得到统计结果:
2011-01-01至2011-09-21
部门 分配任务数 完成任务数 完成率
生产1部 2 1 50%
生产2部 2 2 100%
生产3部
……
上次那样的在结果集中再查询,是个人想法,或者这样的统计有没有其他好的方法?
作者: KeepOn 发布时间: 2011-09-22
select count(部门) from work where 任务分配时间 between '2011-01-01' and '2011-09-21' and 是否完成='是' group by 部门
作者: chinmo 发布时间: 2011-09-22
作者: beyond_me21 发布时间: 2011-09-22
group by怎么把总任务量和完成的任务量都列出来呢?
作者: KeepOn 发布时间: 2011-09-22
作者: beyond_me21 发布时间: 2011-09-22
还有一个问题,我的部门是存的id,名称在另外一个表,怎么用上面那句sql把部门名称直接列出来?
作者: KeepOn 发布时间: 2011-09-22
select b.部门名称,sum(a.分配任务数) as 分配任务数 from work as a left join 部门 as b on a.部门id=b.id
where a.任务分配时间 between '2011-01-01' and '2011-09-21' group by a.部门id
谢谢beyond_me21,
还有一个问题,我的部门是存的id,名称在另外一个表,怎么用上面那句sql把部门名称直接列出来?
作者: beyond_me21 发布时间: 2011-09-22
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28