【发布时间】:2017-10-05 03:16:32
【问题描述】:
表结构1(时钟): 日期 |时间 |超时 |工作代码 |就业率 |员工编号
表结构2(jobdesc): 工作代码 |职位描述
所以我有一个查询:
SELECT
jd.jobdescription,
ci.employeeid,
ci.jobcode,
SUM(timestampdiff(minute,ci.timein,ci.timeout) / 60) * ci.jobrate
FROM clockins ci
RIGHT JOIN jobdesc jd ON ci.jobcode = jd.jobcode
WHERE ci.date BETWEEN '0000-00-00' AND '0000-00-00'
AND jobrate < 100 /* need this to distinguish salaried employees */
GROUP BY `jobcode` , `employeeid`
这会输出如下数据:
我确信一定有更好的方法来实现这一点,但这种方法将其区分开来,这一点很重要,因为每个工作角色可能有不同的员工和不同的工作率。所以我需要的是一种在mysql或php中到达这一点之后缺乏更好术语“重新组合”它们的方法,或者如果你有关于如何更好地进行查询的建议,那就是我都可以。我试图找到这个,但我无法找到适合这种情况的答案。提前感谢您的帮助。
【问题讨论】:
-
什么是“新”期望的输出?
-
我想查看按职位描述分组的所有数据。而不是“作业类型 2”的 3 条记录,只有一条记录,但仍保留 timestampdiff 列的正确数学。我已经尝试了其他方法,但最终得到了不正确的数学,因为当将 timestampdiff 乘以 jobrate 时,它只在 jobrate 的第一个实例上执行等式。这不考虑不同的就业率。抱歉,我知道这很复杂,感谢您的帮助。
-
接受一个工作,有 3 个时间戳差异你想显示什么?