① sql 考勤统计查询
select name,dept,count(*) 工作天数,sum(xbsj-sbsj) 工作累计时间,count(case when kqqk=1 then 1 end) 迟到天数,count(case when kqqk=2 then 1 end) 早退天数
from table1 join table2 on table1.uid=table2.uid
group by name,dept
② 面试题SQL求迟到最多次的员工最后一次迟到时间
select id,max(dtime) from tablename where id in
(select id from
(select top 1 with ties id,count(id)
from tablename
where datepart(hour,dtime) > 8
group by id
order by count(id) desc) as t)
group by id
在sql server 2005上运行过了,可以实现你要求的功能,但是感觉有点罗嗦,仅供参考吧
③ 使用一个sql语句,查询在7月份迟到的,超过9点40的为迟到,只求sql语句的条件
SELECT Department,lateCount
FROM
(
SELECT Department, COUNT(*) AS lateCount
FROM staff_info JOIN time_record ON staff_info.Staff_code = time_record.Staff_code
CONVERT(varchar(5),arrive_time,114)>'14:40'
)
WHERE lateCount >=3
④ 求一SQL实现月考勤统计功能
用交叉表,也可以建好一个月的字段,按每天的结果填到对应的列中。
⑤ 请帮我详细解释一下下面的SQL语句,谢谢!
评选优秀员工?
怎么感觉应该是评选10个最差员工。。。。
⑥ 员工考勤统计怎么写sql语句,查询出勤率,迟到次数,早退次数,旷工次数
你的给子段,给点模拟数据
⑦ sql sever中我想统计1个人一段时间内的迟到次数
select CONVERT(varchar(12) , 日期字段,112 ),sum(累加字段) from 表名 where 日期字段 between '2013-01-01' and '2013-01-31' group by CONVERT(varchar(12) , 日期字段,112 )
⑧ SQL考勤统计语句,求助
select name,
sum(case when intime between '8:00' and '8:29' then 1 else 0 end ) as '迟到',
sum(case when intime between '8:30' and '9:00' then 1 else 0 end ) as '缺勤'
from table1
group by name
因为“8:30”是一个公用时间点,不能判别式迟到还是缺勤,
所以迟到我换成“8:29”了
⑨ ”查询迟到次数大于5的员工有多少人”的SQL语句怎么写
如果是统计迟到次数大于5的员工总数:
select count(*) as 人数 from 表名 where 迟到>5
如果是把所有迟到次数大于5的员工列出来:
select * from 表名 where 迟到>5
⑩ sql中查询某月内的记录
select * from 表名 where month(日期字段)=8 and 员工字段='小张'