在工作中,我们需要制作一份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天我就会收到一份报告。
发布于 2012-11-22 02:33:05
YEARWEEK函数可能是您需要按周进行分组的函数。它有许多选项来定义一周是如何开始的,或者它被归入哪一年。
您的查询也将受益于使用BETWEEN运算符。x BETWEEN a AND b通常比x > a AND x < b更有效。
发布于 2012-11-22 02:34:37
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会很好的。
https://stackoverflow.com/questions/13499745
复制相似问题