我想实现如下的统计。有没有这样的语句?

zhgwbzhd 2014-12-24 11:05:18
我有一个记录表A。
员工号 进门时间 出门时间
1 2014-10-01 08:00:00 2014-10-01 18:00:00
2 2014-10-01 08:10:00 2014-10-01 17:00:00
3 2014-10-01 09:00:00 2014-10-01 12:00:00
1 2014-10-02 08:00:00 2014-10-01 17:00:00
2 2014-10-02 09:00:00 2014-10-01 17:00:00
里面记录着员工的进出时间和员工号。

我现在想统计员工的时长,并且根据时长进行排列。
例如得到这样的数据,同一个员工的时长需要合并起来。
员工号 总时长
1
2
3

谢谢各位。
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhgwbzhd 2014-12-25
  • 打赏
  • 举报
回复
谢谢各位,你们太强大了。这样的就是我想要的结果。
还在加载中灬 2014-12-25
  • 打赏
  • 举报
回复
SELECT 员工号
	,SUM(DATEDIFF(HOUR,进门时间,出门时间))
FROM A
GROUP BY 员工号
或者
SELECT 员工号
	,SUM(DATEDIFF(MINUTE,进门时间,出门时间))/60[总小时]
	,SUM(DATEDIFF(MINUTE,进门时间,出门时间))%60[余分钟]
FROM A
GROUP BY 员工号
  • 打赏
  • 举报
回复
如果出门时间或者入门时间没有或者为null,你可以在datediff函数外用isnull函数包含下
  • 打赏
  • 举报
回复
通过datediff函数就可以没条记录对应工作时长,然后再根据员工号group by后sum(hour),最终按时间总和排序,家里电脑没装SQL,只能这样说下思路 补充下,这样的思路是基于你的数据是正确的,像你例子里面绝对有问题。。。进门时间晚于出门时间。。。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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