我的時間時鐘輸出到一個SQL表,其中一列用於輸入和輸出時間戳,另一列中輸入員工姓名。我希望能夠使用Google表格腳本中的SQL查詢來計算每位員工的每日小時數。計算一列中的時間戳之間的持續時間
繼承人我有:
ID Name Timestamp
1023 Emily Bromley 2016-08-15 9:00:00
1023 Emily Bromley 2016-08-15 17:00:00
1023 Emily Bromley 2016-08-16 9:00:00
1023 Emily Bromley 2016-08-16 17:00:00
1023 Emily Bromley 2016-08-17 9:00:00
1023 Emily Bromley 2016-08-17 15:30:00
1023 Emily Bromley 2016-08-22 9:00:00
1023 Emily Bromley 2016-08-22 16:00:00
1023 Emily Bromley 2016-08-23 8:55:00
1023 Emily Bromley 2016-08-23 16:58:00
1023 Emily Bromley 2016-08-24 8:20:00
1023 Emily Bromley 2016-08-24 16:59:00
1023 Emily Bromley 2016-08-25 9:52:00
1023 Emily Bromley 2016-08-25 16:59:00
1023 Emily Bromley 2016-08-29 9:11:00
1023 Emily Bromley 2016-08-29 16:57:00
我想什麼做的是組日期一起,找到時間戳的持續時間:
ID Name Day and Duration
1023 Emily Bromley 2016-08-15 8
1023 Emily Bromley 2016-08-16 8
1023 Emily Bromley 2016-08-17 6.5
1023 Emily Bromley 2016-08-22 7
1023 Emily Bromley 2016-08-23 8.1
1023 Emily Bromley 2016-08-24 8.5
1023 Emily Bromley 2016-08-25 8.1
1023 Emily Bromley 2016-08-29 8.2
伊夫使用MIN()和MAX嘗試()與GROUP BY,但他們不分組在一起,這是我最新的SQL查詢:
SELECT access_user.user_id,
access_user.first_name + ' ' + access_user.last_name,
MIN(user_time_log.log_time),
MAX(user_time_log.log_time)
FROM access_user
INNER JOIN user_time_log
on access_user.user_id=user_time_log.user_id
GROUP BY access_user.user_id,
access_user.first_name + ' ' + access_user.last_name
其中輸出:
1023 Emily Bromley 2016-08-15 9:00:00 2017-02-17 13:01:00
當然也有其他員工,但大家只在時鐘和從每天一次。我已經搜索了一段時間,但沒有遇到任何類似於我的問題的真實情況。任何幫助深表感謝。
首先,你使用的是什麼RDBMS?如果它支持窗口功能,則平臺之間的語法略有不同。如果不這樣做,那麼解決這些問題就有一種通用但效率較低的技術。 –
現在...你只得到1行的原因是你沒有考慮你的GROUP BY中的日期。因此,每個'user_id'的所有內容都彙總爲一行。您需要通過計算確定日期時間字段中的日期。例如。在Sql Server中,你會使用這裏的技術:http://stackoverflow.com/q/1843395/224704 –