Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Flot图、mysql和WeekNumber_Php_Mysql - Fatal编程技术网

Php Flot图、mysql和WeekNumber

Php Flot图、mysql和WeekNumber,php,mysql,Php,Mysql,我使用以下代码按月显示收入。我想使用类似的数据,但按周(数字)分组 我的问题:除了修改下面的查询之外,还有更优雅的方法来进行更短的查询吗?我是否必须使用52个子查询来按周计算收入,而不是按月计算12个子查询 SELECT IfNull(Year,'Totals') Year, `Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`,Qty AS Totaal FROM

我使用以下代码按月显示收入。我想使用类似的数据,但按周(数字)分组

我的问题:除了修改下面的查询之外,还有更优雅的方法来进行更短的查询吗?我是否必须使用52个子查询来按周计算收入,而不是按月计算12个子查询

    SELECT
      IfNull(Year,'Totals') Year,
      `Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`,Qty AS Totaal
    FROM (
     SELECT
     year(orders.Order_date) AS 'Year',
      sum(if(month(Order_date)= 1, (order_create.amount * order_create.prices), 0)) as Jan,
      sum(if(month(Order_date)= 2, (order_create.amount * order_create.prices), 0)) as Feb,
      sum(if(month(Order_date)= 3, (order_create.amount * order_create.prices), 0)) as Mar,
      sum(if(month(Order_date)= 4, (order_create.amount * order_create.prices), 0)) as Apr,
      sum(if(month(Order_date)= 5, (order_create.amount * order_create.prices), 0)) as May,
      sum(if(month(Order_date)= 6, (order_create.amount * order_create.prices), 0)) as Jun,
      sum(if(month(Order_date)= 7, (order_create.amount * order_create.prices), 0)) as Jul,
      sum(if(month(Order_date)= 8, (order_create.amount * order_create.prices), 0)) as Aug,
      sum(if(month(Order_date)= 9, (order_create.amount * order_create.prices), 0)) as Sep,
      sum(if(month(Order_date)=10, (order_create.amount * order_create.prices), 0)) as Oct,
      sum(if(month(Order_date)=11, (order_create.amount * order_create.prices), 0)) as Nov,
      sum(if(month(Order_date)=12, (order_create.amount * order_create.prices), 0)) as `Dec`,
      ROUND(SUM(order_create.amount * order_create.prices))),2) AS Qty
    FROM
      order_create
      INNER JOIN orders ON (order_create.order_ID = orders.order_ID)
    GROUP BY year
    ) sums ;