You need to enable JavaScript to run this app. 如何使用GROUP BY按员工和日期双分组统计每人每日工时总和
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GROUP BY按员工和日期双分组统计每人每日工时总和

员工工时按人员+日期汇总实现方案

核心问题是GROUP BY的分组维度不全,仅按日期分组只会得到单日全员工时总和,需要同时指定「人员」「日期」两个分组维度,即可得到你要的按人按天的汇总结果。

可用SQL代码

SELECT
    姓名,
    日期,
    SUM(工时) AS 当日合计工时
-- 若需要转换为出勤天数,把上面的求和部分替换为 SUM(工时)/8 AS 当日出勤天数
FROM 你的表名
WHERE [CANC_DATE] IS NULL
GROUP BY 姓名, 日期

逻辑说明

  • 保留你原有过滤已取消记录的条件不变,GROUP BY后同时跟姓名、日期两个字段,数据库就会以「同一个人员+同一个日期」为最小单位做聚合计算,最终返回的就是你需要的结果:1/1/2000 Jon合计5小时、Bob合计6小时,2/1/2000 Jon合计6小时。
  • 针对兼职、加班场景该统计逻辑也不会出现误差,因为是先按人按天统计总工时,再做单位转换。
  • 如果你需要做月度统计的话,把日期字段替换为对应数据库的月份提取函数即可,比如MySQL用DATE_FORMAT(日期, '%Y-%m'),SQL Server用FORMAT(日期, 'yyyy-MM'),GROUP BY后同步替换为姓名、提取后的月份字段即可。

内容的提问来源于stack exchange,提问作者bongio2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 10:45:04