2

14th毎月定期的な支払い日があり、データのサブセットを月/年ごとにグループ化し、送信された列を合計したいと考えています。たとえば、指定されたデータの場合:-

Table `Counter`
Id   Date         Sent 
1    10/04/2013     2      
2    11/04/2013     4      
3    15/04/2013     7 
4    10/05/2013     3      
5    14/05/2013     5      
6    15/05/2013     3 
7    16/05/2013     4 

私が望む出力は次のようなものです:

From         Count
14/03/2013    6
14/04/2013    10
14/05/2013    12

GUI で複数の列から日付を再作成できるため、from 列がどのようにフォーマットされているか、または月/年に分割する方が簡単かどうかは心配していません。したがって、出力は簡単に次のようになります。

FromMth   FromYr         Count
03         2013           6
04         2013          10
05         2013          12

あるいは

toMth       toYr         Count
04         2013           6
05         2013          10
06         2013          12

たとえば、支払日が である場合31st、日付比較は各月の最終日である必要があります。また、結果セットに月が含まれていないことも心配していません。

また、これを に変換しStored procedureて、支払い日やその他のフィルター条件をプッシュできるようにします。また、何年にもわたって行くことができることにも言及する価値があります。

4

3 に答える 3

1

あなたが望むことを行う最も簡単な方法は、日付から14日を差し引き、その月でグループ化することだと思います:

select date_format(date - 14, '%Y-%m'), sum(sent)
from counter
group by date_format(date - 14, '%Y-%m')
于 2013-05-31T07:01:15.837 に答える