一个考勤统计的问题 WCF怎么实现考勤统计代码

t86911384 2012-03-21 04:12:26
表结构是这样http://hi.csdn.net/attachment/201203/21/10169717_1332318024lDPi.png我读数据时,我的数据显示

怎么作成类似人家这样


SQL用group by (MembeID)考勤人,只能读一条的,要怎么把所有的都读出来好作统计?可按月统计,也可按年统计,有没有方法或者代码?
...全文
132 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
t86911384 2012-03-22
  • 打赏
  • 举报
回复
貌似可以用,这个:
select MemberID,
count(case checkInStatus when 1 then 1 end ) 正常,
count(case checkInStatus when 2 then 2 end ) 临界,
count(case checkInStatus when 3 then 3 end ) 迟到
from dk_Attendance_Records
group by MemberID
t86911384 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pittroll 的回复:]

可以统计每个人每个月考勤记录的条数
SQL code
select MemberID,COUNT(1) AS 数据条数,SUBSTRING(convert(varchar(10),AttendanceDate,23),1,7) as 考勤年月 from 考勤表 group by MemberID,SUBSTRING(convert(varchar(10),AttendanceDate,23)……
[/Quote]


好人就帮到底吧,还有个疑问,我的考勤状态是Int类型的,考勤状态: 0.未考勤、1.正常、2.临界、3.迟到.....
如何分别统计他每个人每个月是以哪种形式来考勤的?你上面的统计考勤记录数,却不知他有没有违反考勤,比如:迟到早退未考勤之类的就要扣工资,大好人这怎么写?
PitTroll 2012-03-22
  • 打赏
  • 举报
回复
select MemberID,COUNT(1) AS 数据条数,SUBSTRING(convert(varchar(10),AttendanceDate,23),1,7) as 考勤年月,count(case checkInStatus when 0 then 1 end) as 未考勤,count(case checkInStatus when 1 then 1 end) as正常,
count(case checkInStatus when 2 then 1 end ) as 临界,
count(case checkInStatus when 3 then 1 end ) as 迟到 from 考勤表 group by MemberID,SUBSTRING(convert(varchar(10),AttendanceDate,23),1,7);
这样写就差不多了
t86911384 2012-03-21
  • 打赏
  • 举报
回复
嗯,谢谢,下班了,回家试一试。
PitTroll 2012-03-21
  • 打赏
  • 举报
回复
select MemberID,COUNT(1) AS 数据条数,YEAR(AttendanceDate) as 考勤年 from 考勤表 group by MemberID,YEAR(AttendanceDate)

这个可以统计每年的记录条数
PitTroll 2012-03-21
  • 打赏
  • 举报
回复
可以统计每个人每个月考勤记录的条数
select MemberID,COUNT(1) AS 数据条数,SUBSTRING(convert(varchar(10),AttendanceDate,23),1,7) as 考勤年月 from 考勤表 group by MemberID,SUBSTRING(convert(varchar(10),AttendanceDate,23),1,7)
t86911384 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pittroll 的回复:]

对打卡时间按照月度汇总啊。group by 按照月汇总你该会把
[/Quote]

还望详细说明白一点,group by 时间?人员呢?
表的结构是这样的
RecordID int 记录ID
MemberID int 成员ID
AttendanceDate datetime 考勤日期
CheckInTime time 上班时间
CheckInStatus nvarchar(100) 上班考勤状态
CheckOutTime time 下班时间
CheckOutStatus nvarchar(100) 下班考勤状态
Remark ntext 备注
group by 考勤日期吗?
PitTroll 2012-03-21
  • 打赏
  • 举报
回复
对打卡时间按照月度汇总啊。group by 按照月汇总你该会把

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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