员工考勤的统计

liaoyukun111 2011-04-29 10:32:29
简单说明下主要字段:SID,SName,Stime,state分别是数据ID,名字,上班小时数,是否迟到(1为正常)
现在要求统计,员工上班天数(上班小时数>7才记录一天)和上班天数中没有迟到天数
这是第一问,
第二问是:一年记录在一个表,现在有两年记录,有跨年的统计,要求MSSQL2000的语法,实在不行05也行
...全文
88 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cd731107 2011-04-29
  • 打赏
  • 举报
回复
select SName,count(1) 上班天数,sum(case when state=1 then 1 else 0 end) 没有迟到天数 
from tb where Stime>7 group by SName
快溜 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liaoyukun111 的回复:]
楼上都只取到了 正常上班的天数,没有取上班的天数
[/Quote]什么意思?
select SName,count(1) 天数 from tb where Stime>7 and state=1 group by SName
不是你要的?
liaoyukun111 2011-04-29
  • 打赏
  • 举报
回复
是不是一次查询搞不定呀
liaoyukun111 2011-04-29
  • 打赏
  • 举报
回复
楼上都只取到了 正常上班的天数,没有取上班的天数
快溜 2011-04-29
  • 打赏
  • 举报
回复
--1
select SName,count(1) 天数 from tb where Stime>7 and state<>1 group by SName
--2
select SName,sum(天数) as 天数
from (
select SName,count(1) 天数 from tb1 where Stime>7 and state<>1 group by SName
union all
select SName,count(1) 天数 from tb2 where Stime>7 and state<>1 group by SName) a
group by SName
liaoyukun111 2011-04-29
  • 打赏
  • 举报
回复
两个表的字段一样的,只有时间的区分
liaoyukun111 2011-04-29
  • 打赏
  • 举报
回复
sum(case when state=1 then 1 else 0 end)
这一句很受用 谢谢
一、项目简介本课程演示的是一套基于SSM实现的考勤管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。课程包含:1. 项目源码、项目文档、数据库脚本、软件工具等所有资料2. 带你从零开始部署运行本套系统3. 该项目附带的源码资料可作为毕设使用4. 提供技术答疑二、技术实现后台框架:Spring、SpringMVC、MyBatisUI界面:JSP、jQuery 、H-ui数据库:MySQL 三、系统功能该系统共包含两种角色:员工、管理员,主要分为前台和后台两大模块。1.前台模块 前台首页、新闻公告、员工活动、职位招聘、留言板、用户注册、用户登录、个人中心、我的考勤、我的奖惩、我的培训、我的薪资、修改密码等功能。2.后台模块 系统后台登陆、管理员管理、员工信息管理、部门管理、职务管理、考勤类别管理、员工考勤管理、员工奖惩管理、员工培训管理、员工薪资管理、网站栏目管理、网站内容管理、职位招聘管理、求职简历管理、留言交流管理、留言回复管理等功能。该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 四、项目截图1)前台首面2)个人信息页面3)员工信息管理4)考勤类别管理5)考勤信息管理6)员工薪资管理  更多Java毕设项目请关注【毕设系列课程】https://edu.csdn.net/lecturer/2104   

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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