次のエントリを含むテーブルがあります。
completed_time|| BOOK_CNT
*********************************************
2013-07-23 | 2
2013-07-22 | 1
2013-07-19 | 3
2013-07 16 |5
2013-07-12 |4
2013-07-11 |2
2013-07-02 |9
2013-06-30 |5
さて、上記のエントリをデータ分析に使用したいと思います。
DAYS_FROM、DAYS_TO、および PERIOD が 3 つの変数であるとします。
次のようなクエリを実行する必要があります。
" PERIOD 間隔の DAYS_FROM から DAYS_TO までの書籍の合計。 "
DAYS_FROMは、YYYY-MM-DD 形式の日付です。
、DAYS_TOは YYYY-MM-DD 形式の日付です
PERIODは {1W,2W,1M,2M,1Y} で、W,M,Y は週、月、年を表します。
例: クエリ DAYS_FROM=2013-07-23 、 DAYS_TO=2013-07-03 および PERIOD=1W は次を返す必要があります。
ith week - total
1 - 3
2- 8
3- 6
4- 14
説明:
1-3 means (The total book from 2013-07-21(sun) to 2013-07-23(tue) is 3 )
2-8 means (The total book from 2013-07-14(sun) to 2013-07-21(sun) is 8 )
3-16 means (The total book from 2013-07-07(sun) to 2013-07-14(sun) is 6 )
4-14 means (The total book from 2013-07-03(wed) to 2013-07-07(sun) is 14 )
よりよく理解するために、カレンダーの画像を参照してください。
そのようなクエリを起動する方法は?
私が試したことは?
SELECT DAY(completed_time), COUNT(total) AS Total
FROM my_tab
WHERE completed_time BETWEEN '2013-07-23' - INTERVAL 1 WEEK AND '2013-07-03'
GROUP BY DAY(completed_time);
上記のクエリは 2013 年 7 月 23 日から 7 日を差し引いたため、2013 年 7 月 16 日から 2013 年 7 月 23 日まで が第 1 週、 2013年 7 月 9 日から 2013 年 7 月 16 日までが第 2 週と見なされます。