これを実行すると (SQL Server 2008 R2):
SELECT [UserId]
,[StateDuration]
,[StatusKey]
FROM [AgentActivityLog]
WHERE [StatusDateTime] between '2012-01-01' and '2012-12-31'
次のように UserId ごとに行を取得します: UserId StatusDateTime StatusKey
cfrinco 3456 Meeting
echartl 23456 Available
mbarbewar 3256 Lunch
bsantiago 46565 Available
bsantiago 79 Follow Up
fburger 5464 Available
これは、各ユーザーが各ステータスにあった時間を秒単位で教えてくれます。
もちろん、1 日あたりのエントリー数も多くなりますUserId
。
つまり、ユーザーは 1 日のうちに、利用可能から会議、利用可能、昼食、利用可能などに移動します。
私がやりたいことは、暦日UserId
あたり、あたり、秒単位で時間を合計することです。StatusKey
したがって、次のようになります。
cfrinco 3456 Meeting '2012-01-01'
cfrinco 45678 Available '2012-01-01'
cfrinco 7845 Meeting '2012-01-02'
cfrinco 32541 Available '2012-01-02'
cfrinco 4455 Meeting '2012-01-03'
cfrinco 12456 Available '2012-01-03'
fburger 3456 Meeting '2012-01-01'
fburger 75489 Available '2012-01-01'
fburger 3541 Lunch '2012-01-01'
fburger 5486 Meeting '2012-01-02'
fburger 64587 Available '2012-01-02'
fburger 3614 Lunch '2012-01-02'
fburger 3225 Meeting '2012-01-03'
fburger 35414 Available '2012-01-03'
fburger 3745 Lunch '2012-01-03'
よろしくお願いいたします。