返回介绍

solution / 1700-1799 / 1741.Find Total Time Spent by Each Employee / README

发布于 2024-06-17 01:03:15 字数 2322 浏览 0 评论 0 收藏 0

1741. 查找每个员工花费的总时间

English Version

题目描述

表: Employees

+-------------+------+
| Column Name | Type |
+-------------+------+
| emp_id    | int  |
| event_day   | date |
| in_time   | int  |
| out_time  | int  |
+-------------+------+
在 SQL 中,(emp_id, event_day, in_time) 是这个表的主键。
该表显示了员工在办公室的出入情况。
event_day 是此事件发生的日期,in_time 是员工进入办公室的时间,而 out_time 是他们离开办公室的时间。
in_time 和 out_time 的取值在1到1440之间。
题目保证同一天没有两个事件在时间上是相交的,并且保证 in_time 小于 out_time。

 

计算每位员工每天在办公室花费的总时间(以分钟为单位)。 请注意,在一天之内,同一员工是可以多次进入和离开办公室的。 在办公室里一次进出所花费的时间为out_time 减去 in_time。

返回结果表单的顺序无要求。
查询结果的格式如下:

 

示例 1:

输入:
Employees table:
+--------+------------+---------+----------+
| emp_id | event_day  | in_time | out_time |
+--------+------------+---------+----------+
| 1    | 2020-11-28 | 4     | 32     |
| 1    | 2020-11-28 | 55    | 200    |
| 1    | 2020-12-03 | 1     | 42     |
| 2    | 2020-11-28 | 3     | 33     |
| 2    | 2020-12-09 | 47    | 74     |
+--------+------------+---------+----------+
输出:
+------------+--------+------------+
| day    | emp_id | total_time |
+------------+--------+------------+
| 2020-11-28 | 1    | 173    |
| 2020-11-28 | 2    | 30     |
| 2020-12-03 | 1    | 41     |
| 2020-12-09 | 2    | 27     |
+------------+--------+------------+
解释:
雇员 1 有三次进出: 有两次发生在 2020-11-28 花费的时间为 (32 - 4) + (200 - 55) = 173, 有一次发生在 2020-12-03 花费的时间为 (42 - 1) = 41。
雇员 2 有两次进出: 有一次发生在 2020-11-28 花费的时间为 (33 - 3) = 30,  有一次发生在 2020-12-09 花费的时间为 (74 - 47) = 27。

解法

方法一:分组求和

我们可以先按照 emp_idevent_day 进行分组,然后计算每个分组的总时间。总时间等于每个分组的 out_time 减去 in_time 的和。

# Write your MySQL query statement below
SELECT event_day AS day, emp_id, SUM(out_time - in_time) AS total_time
FROM Employees
GROUP BY 1, 2;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文