我有下表,表示一個教導小組學生的導師。每個學生都有一個進入數據庫的入口。學生可以是單獨的或在一個組中。我希望計算導師的「工資」,因爲支付是以花費的時間爲基礎的 - 這意味着每次坐着(與一個或多個學生一起)只計算一次坐位 - 不同的坐位!開始和結束時間是unix時間。使用mysql根據不同的坐位來計算導師的工資
<pre>
start end attendance
1359882000 1359882090 1
1359867600 1359867690 0
1359867600 1359867690 1
1359867600 1359867690 0
1360472400 1360477800 1
1360472400 1360477800 1
1359867600 1359867690 1
1359914400 1359919800 1
1360000800 1360006200 1
1360000800 1360006200 0
1360000800 1360006200 1
</pre>
這是我的嘗試:沒有成功 - 我不能得到正確的時間(小時數爲所有不同開庭)
SELECT YEAR(FROM_UNIXTIME(start)) AS year, MONTHNAME(STR_TO_DATE(MONTH(FROM_UNIXTIME(start)), '%m')) AS month, COUNT(DISTINCT start) AS sittings, SUM(TRUNCATE((end-start)/3600, 1)) as duration FROM schedules GROUP BY YEAR(FROM_UNIXTIME(start)), MONTH(FROM_UNIXTIME(start))
感謝您的建議/支持!
編輯:要求的結果
Rate = 25
Year Month Sittings Duration Bounty
2013 February 2 2.2 2.2*25
2013 April 4 12.0 12.0*25
+1發佈你試過的東西 – 2013-04-05 12:47:24
你也可以發佈你想要的結果嗎? – 2013-04-05 12:50:45
@JW剛剛添加了所需的結果。持續時間基於結束開始)/ 3600不同坐位 – dorogz 2013-04-05 13:00:44