1

ファイル内で四半期ごとに年ごとにグループ化する必要があり.phpます。太字で、修正が必要なコード、別名スイッチケース4を示しています。今は年、月、週、日をグループで修正していますが、四半期名のケース4が必要です。このコードを試しましGROUP FUNCTIONたが、表示されます2010年と2011年に5つのグループがあり、これは間違っています。

switch ($level) 
{

  case '4':**
    $group = "FLOOR(EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(invoice_date))/3)";</b>
    break;
}

修正済み

SQLパート


ケース「4」:
                    $ group = "EXTRACT(YEAR FROM FROM_UNIXTIME(invoice_date))as group_field2、EXTRACT(QUARTER FROM FROM_UNIXTIME(invoice_date))";
                    壊す;

    $ sql_select = $ db-> query( "SELECT sum(amount)AS invoice_amount、"。$group。"AS group_field FROM
                "。DB_PREFIX。"invoicesWHEREinvoice_date>="。$startup。""。$user_query。"GROUPBY group_field、group_field2 ORDER BY group_field2 DESC、group_field DESC ");


テキスト-リンク部分

                    ケース「4」:
                        $ start = strtotime('+'。(($ view_details_received ['group_field'] --1)* 3)。'months'、strtotime($view_details_received['group_field2']。'/1/1'));
                        $ finish = strtotime('+'。(($ view_details_received ['group_field']-1)* 3 + 3)。'months'、strtotime($view_details_received['group_field2']。'/1/1'));
                        $ start = getdate($ start);
                        $ finish = getdate($ finish-86400);
                        $ title='Q'。$view_details_received['group_field2']。'、'。$ view_details_received ['group_field'];
                        壊す;

4

1 に答える 1

2

SQLでEXTRACT(QUARTER FROM date)を使用してから、通常のGROUPBYを実行できます。

MySQL WebページのEXTRACTドキュメントと、それに可能な引数の表を参照してください。

于 2012-10-30T11:52:02.343 に答える