私が書くのに苦労している SQL クエリについて、誰かがこの質問に答えてくれることを願っています。おそらくかなり基本的なものですが、気が狂いそうになります。
電話システムにログインしている一部のエージェントに対して 15 分ごとに書き込まれるデータを含むテーブルがあります。これはいくつかのフィールド設定のサンプルです。他にもありますが、単純ですばやく入力できるようにしています。
FieldName Size Type
BeginTimePeriodDt 93 datetime
User_Id 12 varchar
EndTimePeriodDt 93 datetime
TotalLoginTime 4 int
そして、データが何であるかのサンプル。エージェントは他にもたくさんありますが、ここでもシンプルにしています。
BeginTimePeriodDT User_ID EndTimePeriodDt TotalLoginTime
2012-09-10 13:30:00 XXXXXX 2012-09-10 13:45:00 35
2012-09-10 13:30:00 YYYYYY 2012-09-10 13:45:00 900
2012-09-10 13:45:00 XXXXXX 2012-09-10 14:00:00 900
2012-09-10 13:45:00 YYYYYY 2012-09-10 14:00:00 600
2012-09-10 14:00:00 XXXXXX 2012-09-10 14:15:00 250
2012-09-10 14:00:00 YYYYYY 2012-09-10 14:15:00 95
2012-09-11 13:30:00 XXXXXX 2012-09-11 13:45:00 35
2012-09-11 13:30:00 YYYYYY 2012-09-11 13:45:00 900
2012-09-11 13:45:00 XXXXXX 2012-09-11 14:00:00 900
2012-09-11 13:45:00 YYYYYY 2012-09-11 14:00:00 600
2012-09-11 14:00:00 XXXXXX 2012-09-11 14:15:00 250
2012-09-11 14:00:00 YYYYYY 2012-09-11 14:15:00 95
ご覧のとおり、ログインしているすべてのエージェントは、15 分ごとに書き込まれたレコードを取得します。私がやろうとしているのは、それらのレコードを取得して、ログイン時間を合計することです。テーブルにエージェントごとに 1 日のレコードしか含まれていない場合は、非常に簡単に実行できますが...
テーブルには、エージェントごとに 15 分間隔で複数日分のレコードが含まれています :-(
私が少し苦労しているのは、1 日あたりのエージェント間隔をグループ化して追加し、1 日あたりの合計を返す方法を考え出すことです。
だから私は次のようなもので終わりたい
2012-09-10 XXXXXX 1185
2012-09-11 XXXXXX 1185
2012-09-10 YYYYYY 2000
2012-09-11 YYYYYY 1300
(私の数学が上記のデータに合わないことはわかっています。合計を計算するのに腹を立てることはできません:-P)
誰かが私に答えを思い付くことができれば、私は非常に感謝しています。