1741. Find Total Time Spent by Each Employee

Find Total Time Spent by Each Employee

透過leetcode 1741Find Total Time Spent by Each Employee來練習

使用table

(emp_id, event_day, in_time) 是這個表的主鍵。
該表顯示了員工在辦公室的進出。
event_day 是該事件發生的日期,in_time 是員工進入辦公室的分鐘,
out_time 是他們離開辦公室的分鐘。
in_time 和 out_time 介於 1 和 1440 之間。
保證同一天沒有兩個事件在時間上相交,並且 in_time < out_time。

題目說明:

編寫 SQL 查詢以計算每個員工每天在辦公室花費的總時間(以分鐘為單位)。請注意,在一天內,員工可以多次進入和離開。在辦公室單次進入所花費的時間是。out_time - in_time

按任意順序返回結果表。

查詢結果格式如下例所示。

解題:

以下為第一個解法

先將in_time & out_time sum 起來
再select一次時將 sum(out_time) - sum(in_time)

SELECT m.event_day as day,m.emp_id,isnull(m.CO,0) - isnull(m.CI,0) as total_time FROM (
SELECT event_day,emp_id,sum(in_time) as CI,sum(out_time) as CO FROM Employees
group by event_day,emp_id
) M
order by day

By. @UEW2WaUHTqSmPOSfnfXrNw