在工作中,我们需要制作一份6个月大的报告。基本上,从5月1日到11月1日,报告必须每周一次。到目前为止,我只能一次一个星期地手动完成...
这是我的代码
SELECT displayname, capture_time,
satisfied_load_time AS load_time,
satisfied_response_time AS apdex_response_time
FROM session_page_summary, page, apdex_value
WHERE displayname LIKE 'xyz%'
AND capture_time >= '2012-11-01 00:00:00'
AND capture_time <= '2012-11-07 00:00:00'
AND page.page_id = session_page_summary.page_id
AND page.page_id = apdex_value.page_id
GROUP BY displayname
ORDER BY displayname
我删除了一些长代码,只是为了让它看起来更好。
结果是......
displayname capture_time loadtime responsetime
>xyz-a 11/7/2012 0.12 1.34
>xyz-b 11/7/2012 0.83 2.92
>xyz-c 11/7/2012 0.56 1.02
如何获得包含6个月数据的结果,如下所示?
displayname capture_time loadtime responsetime
>xyz-a 11/7/2012 0.72 1.82
>xyz-b 11/15/2012 1.23 1.01
>xyz-c 11/22/2012 2.83 0.78
我每7天收到一次报告。
答案 0 :(得分:2)
YEARWEEK
功能可能是您按周分组所需的功能。它有许多选项来定义周的开始时间或分类的年份。
使用BETWEEN
运算符也可以使您的查询受益。 x BETWEEN a AND b
通常比x > a AND x < b
更有效。
答案 1 :(得分:0)
SELECT displayname, capture_time,
satisfied_load_time AS load_time,
satisfied_response_time AS apdex_response_time
FROM session_page_summary sps, page p, apdex_value av
WHERE displayname LIKE 'xyz%'
AND page.page_id = session_page_summary.page_id
AND page.page_id = apdex_value.page_id
AND capture_time between '2012-11-01 00:00:00'AND '2012-11-07 00:00:00'
GROUP BY displayname
ORDER BY displayname
会好的......