我有这个数据库,用来记录打卡时间。它具有下面列出的字段。
emplid,end_date,day0,day1,day2,day3,day4,day5,day6
end_date 是该周(每周日)一周的最后一天。因此,如果有人记录了 5 周的时间,他们应该有 5 行,每行都有不同的结束日期。我想做的是创建一个人的名单,这些人忘记记录直到今天为止的任何几周的时间。我想要一行显示迄今为止所有星期的列表。例如
emplid,Week1,Week2,Week3,Week4,Week5.
12345 ,1 ,1 ,1 ,0 ,1
这就是我所拥有的。
SELECT COUNT(end_date) AS Week1,
COUNT(end_date) AS Week2
FROM `aca_time_record`
WHERE `emplid` = 025580
HAVING week1 = '2013-10-05'
AND week2 = '2013-10-12'
最佳答案
您需要计算每个员工每周未打卡的天数,然后将其转换为最终结构。详情请参阅此答案 - MySQL pivot table .
关于mysql - 如何列出员工每周是否记录时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20551130/