これが私の問題です:
私はこのようなテーブルを手に入れました:
Table Log
int id;
int time;
timestamp DATE;
int sid (FK to table Site);
およびテーブル サイト:
Table Site;
int id;
varchar title;
私のログ テーブルでは、サイトは 0 回または N 回存在する可能性があり、各サイトの時間の合計を取得する必要があります。
このリクエストは完了し、機能しているように見えます。今度は、サイトのタイトルと、ログ内の特定の期間の合計時間の平均を取得する必要があります。
これが私のクエリです:
SELECT site, AVG(sumtime)
FROM (
SELECT Site.TITLE as site, SUM(time) as sumtime FROM Log
INNER JOIN sites ON Site.ID = Log.sid
WHERE Log.DATE between '2012-11-13' AND '2012-11-15'
GROUP BY Site.TITLE
) AS t1
GROUP BY t1.site;
しかし、この場合、平均は機能していないようです。取得している値は、サブクエリで計算した合計です。
編集:
データサンプルは次のとおりです。
Site
1 SiteA
2 SiteB
Log
1 2500 "2012-11-14 07:00:01" 1
2 3500 "2012-11-14 07:10:01" 1
3 4500 "2012-11-14 07:12:01" 1
4 6500 "2012-11-13 10:10:01" 1
5 2500 "2012-11-14 08:00:01" 2
6 3500 "2012-11-14 10:10:01" 2
7 5500 "2012-11-13 12:10:01" 2
私が今必要としているのは、ある期間 (この例では 2012 年 11 月 13 日から 2012 年 11 月 14 日までとしましょう) の合計時間の平均です。
Site, avg time sum
Site A, 8500
Site B, 5750