LeetCode MySQL 1741. 查找每个员工花费的总时间
文章目錄
- 1. 題目
- 2. 解題
1. 題目
表: Employees
+-------------+------+ | Column Name | Type | +-------------+------+ | emp_id | int | | event_day | date | | in_time | int | | out_time | int | +-------------+------+(emp_id, event_day, in_time) 是這個表的主鍵。
該表顯示了員工在辦公室的出入情況。
event_day 是此事件發(fā)生的日期,in_time 是員工進入辦公室的時間,而 out_time 是他們離開辦公室的時間。
in_time 和 out_time 的取值在1到1440之間。
題目保證同一天沒有兩個事件在時間上是相交的,并且保證 in_time 小于 out_time。
編寫一個SQL查詢以計算每位員工每天在辦公室花費的總時間(以分鐘為單位)。
請注意,在一天之內(nèi),同一員工是可以多次進入和離開辦公室的。
在辦公室里一次進出所花費的時間為out_time 減去 in_time。
返回結果表單的順序無要求。
查詢結果的格式如下:
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 | +--------+------------+---------+----------+Result table:
+------------+--------+------------+ | 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 有三次進出: 有兩次發(fā)生在 2020-11-28 花費的時間為 (32 - 4) + (200 - 55) = 173,
有一次發(fā)生在 2020-12-03 花費的時間為 (42 - 1) = 41。
雇員 2 有兩次進出: 有一次發(fā)生在 2020-11-28 花費的時間為 (33 - 3) = 30,
有一次發(fā)生在 2020-12-09 花費的時間為 (74 - 47) = 27。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-total-time-spent-by-each-employee
著作權歸領扣網(wǎng)絡所有。商業(yè)轉載請聯(lián)系官方授權,非商業(yè)轉載請注明出處。
2. 解題
# Write your MySQL query statement below select event_day day, emp_id, sum(out_time-in_time) total_time from Employees group by event_day, emp_id585 ms 0 B MySQL
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 1741. 查找每个员工花费的总时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1824. 最少侧跳次
- 下一篇: python 输出 GPU内存 最大使用