5

職場では、6 か月前のレポートを作成する必要があります。基本的には 5 月 1 日から 11 月 1 日までで、レポートは週単位で作成する必要があります。これまでのところ、手動​​で一度に 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日ごとにレポートを受け取ります。

4

2 に答える 2

2

このYEARWEEK関数は、おそらく週ごとにグループ化する必要があるものです。週の始まりや分類する年を定義するためのオプションがいくつかあります。

クエリは、BETWEEN演算子を使用することでもメリットがあります。x BETWEEN a AND b通常、より効率的ですx > a AND x < b

于 2012-11-21T18:33:04.913 に答える
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

いいだろう...

于 2012-11-21T18:34:36.553 に答える