求2个SQL语句,马上给分,谢谢

jeffwangxm 2006-01-19 11:42:29
我想做个工作效率分析

1 、 有一工作记录表,表内有字段 :姓名,开始工作时间,结束工作时间,工作量
每人一天内允许工作多次,每次工作时间不限,每次工作效率可不同。
现要统计每人的最快工作效率(按分钟)。
再按人统计每人所有工作的平均效率。求SQL语句

2、现用比较复杂的程序按人统计出平均工作效率表:姓名,总耗时,总工作量,平均工作效率
目测平均工作效率在0---2500之间
求SQL语句,按0-100,100-200,200-300......工作效率统计每个工作效率段内的人数

马上给分


...全文
115 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
白发程序猿 2006-01-19
  • 打赏
  • 举报
回复
写错了,应该是
1、select 姓名,max(工作量/datediff(n,开始工作时间,结束工作时间)) as 最快效率 from 工作记录表 group by 姓名
select 姓名,sum(工作量)/sum(工作时间) as 平均效率 from (select 姓名,工作量,datediff(n,开始工作时间,结束工作时间)) as 工作时间 from 工作记录表) t group by 姓名
2、
select 平均效率,count(人数) as 人数 from
(select case when 平均效率 between 0 and 100 then '0-100' when 平均效率 between 100 and 200 then '100-200' when 平均效率 between 200 and 300 then '200-300' when 平均效率 between 300 and 400 then '300-400' else '400以上' end as 平均效率,'1' as 人数 from
(select 姓名,sum(工作时间) as 总耗时,sum(工作量) as 总工作量,sum(工作量)/sum(工作时间) as 平均效率 from
(select 姓名,工作量,datediff(n,开始工作时间,结束工作时间)) as 工作时间 from 工作记录表) t group by 姓名) t1) t2
group by 平均效率
我这里只写到400,如还要多,就依序增加就行了
白发程序猿 2006-01-19
  • 打赏
  • 举报
回复
1、select 姓名,min(工作量/datediff(n,开始工作时间,结束工作时间)) as 最快效率 from 工作记录表 group by 姓名
select 姓名,sum(工作量)/sum(工作时间) as 平均效率 from (select 姓名,工作量,datediff(n,开始工作时间,结束工作时间)) as 工作时间 from 工作记录表) t group by 姓名
2、
select 平均效率,count(人数) as 人数 from
(select case when 平均效率 between 0 and 100 then '0-100' when 平均效率 between 100 and 200 then '100-200' when 平均效率 between 200 and 300 then '200-300' when 平均效率 between 300 and 400 then '300-400' else '400以上' end as 平均效率,'1' as 人数 from
(select 姓名,sum(工作时间) as 总耗时,sum(工作量) as 总工作量,sum(工作量)/sum(工作时间) as 平均效率 from
(select 姓名,工作量,datediff(n,开始工作时间,结束工作时间)) as 工作时间 from 工作记录表) t group by 姓名) t1) t2
group by 平均效率
我这里只写到400,如还要多,就依序增加就行了
-狙击手- 2006-01-19
  • 打赏
  • 举报
回复
select 姓名,
sum(datediff(mi,开始工作时间,结束工作时间)) as sumtime,
sum(工作量) as sumwork,
avg(sum(datediff(mi,开始工作时间,结束工作时间))/sum(工作量)) as avgwork
into #tmp
from 工作记录表
group by 姓名
select
[0-100]=(select sum(case when avgwork between 0 and 100 then 1 end) from #temp),
[100-200]=...
....
from #tmp
jeffwangxm 2006-01-19
  • 打赏
  • 举报
回复
工作记录表,:姓名(char型),开始工作时间(datetime),结束工作时间(datetime),工作量(int)

平均工作效率表:姓名(char型),总耗时(datetime),总工作量(int),平均工作效率(int)
$扫地僧$ 2006-01-19
  • 打赏
  • 举报
回复
sorry:
1.
select 姓名,max(工作量/datediff(mi,开始工作时间,结束工作时间)),avg(工作量/datediff(mi,开始工作时间,结束工作时间)) from 工作记录表
group by 姓名
$扫地僧$ 2006-01-19
  • 打赏
  • 举报
回复
1.
select 姓名,max(工作量/datediff(mm,开始工作时间,结束工作时间)),avg(工作量/datediff(mm,开始工作时间,结束工作时间)) from 工作记录表
group by 姓名
天地客人 2006-01-19
  • 打赏
  • 举报
回复
请列出数据类型!!!


=========================================================
我的回复,尽可能为你分忧解难
BLOG:blog.csdn.net/softj --欢迎光临,有更多信息等着你!
QQ高级群:5063844专研数据库 --大家进来聊一聊!
MSN:softj@msn.com --这不常用!
Mail:zj.wj@163.com --有什么问题可以和我来EMAIL!
=========================================================
yangyangxie 2006-01-19
  • 打赏
  • 举报
回复
study
flyeq008 2006-01-19
  • 打赏
  • 举报
回复
学习
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书两卷压缩,请都下载完再解压! Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介   本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部 sql和pl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部 sql  第5章 sql和pl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书两卷压缩,请都下载完再解压! Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介   本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部 sql和pl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部 sql  第5章 sql和pl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案

34,838

社区成员

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

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