小グループで生徒を教える家庭教師を示す次の表があります。各生徒はデータベースへのエントリを持っています。生徒は一人でもグループでも構いません。私は家庭教師の「給与」をそのまま計算したいと思います。支払いは費やされた時間に基づいています。これは、各シッティング(1 人または複数の生徒)に対して 1 つのシッティングのみが計算されることを意味します。開始時間と終了時間は UNIX 時間です。
<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 年、 MONTHNAME(STR_TO_DATE(MONTH(FROM_UNIXTIME(start)), '%m')) AS 月、 COUNT(DISTINCT start) AS シッティング、 SUM(TRUNCATE((end-start)/3600, 1)) as duration FROM スケジュール グループ化 YEAR(FROM_UNIXTIME(開始)), MONTH(FROM_UNIXTIME(開始))
あなたの提案/サポートに感謝します!
編集:必要な結果
Rate = 25
Year Month Sittings Duration Bounty
2013 February 2 2.2 2.2*25
2013 April 4 12.0 12.0*25