簡體   English   中英

我是否可以按星期正確計算每小時平均收入?

[英]Am I calculating average income per hour by day of week correctly?

數據表看起來像這樣

使用查詢來計算星期幾的每小時平均收入。

SELECT WEEKDAY(date_start_time), SUM(total_income)/SUM(DATEDIFF((hour, 
date_start_time, date_end_time) AS avg_income
FROM Deliveries
GROUP BY WEEKDAY(date_start_time)

要知道的事情:

  • Entry_id是員工每次進入辦公室時的唯一鍵
  • 如果一名員工反復進入辦公室,將會有許多相同的user_id記錄
  • 完成的任務很可能在此問題中不使用

我是否適當回答了這個問題?

我擔心的事情:

1)DATEDIFF是否僅返回整數值? 如果是這樣,那么要對avg_income進行更好的估算,這是否意味着我們應該使用DATEDIFF(minutes,...,...),然后從該整數計算帶小數位的小時?

2)過夜工作的人是否需要輪班我需要擔心的事情? 這個查詢會變得更加復雜嗎?

3)如果我被要求“計算上午9點至下午5點的每小時平均收入”,那是否意味着我需要為每個員工...或每個小時計算(即最終我是按小時分組)或通過user_ID)?

1)使用timediff()

2)您不僅需要考慮隔夜班次,而且如果給定一周的工作在開始日期到結束日期之間的時間超過40小時,則需要考慮加班費。 僅當員工為此獲得不同小時工資(例如半小時)時。 如果這是一個因素,那么您將需要袖手旁觀,因為這將是一個完整的算法。

3)這取決於您要查找的平均值(用戶,天數等),但是一種簡單的方法是僅嵌套選擇並獲取avg()。

select avg(earnings) overall_average from 
(select user, [calculated_earnings] as earnings from [table] where [conditions])

select avg(earnings) overall_average from 
(select weekday, [calculated_earnings] as earnings from [table] where [conditions])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM