Сгруппировать по данным MySQL, что мне нужно, чтобы расширить одну ячейку - PullRequest
0 голосов
/ 10 ноября 2011

Я работаю над работой в тот момент, когда все товары в магазине должны быть доставлены и показывают, сколько заказов было выполнено за тот промежуток времени, который было легко сделать, но это также в той же таблице нужно разделить количество заказов этого продукта на отдельные месяцы, в которых он был заказан, есть ли способ расширить данные из одной ячейки, которая была группирована, и рассчитать ее, а затем разделить на подгруппы месяцев

        $this->obDb->query ="SELECT vSku,fOrdertime,iOrderStatus,fPrice,SUM(iQty) as iQty,tShortDescription,fBuyprice as totalBuyPrice, vTitle FROM ".ORDERS.",".ORDERPRODUCTS."  WHERE iOrderid_FK=iOrderid_PK AND ";
        $this->obDb->query.=$statusquery;
        if(isset($this->request['start_date']) & $this->request['start_date']>0){
            $this->obDb->query.=" AND tmOrderDate >='".$this->request['start_date']."'";
        }else{
            $this->err=1;
            $this->errMsg=INVALID_START_DATE."<br>";
        }
        if(isset($this->request['end_date']) & $this->request['end_date']>0){
            $this->obDb->query.=" AND tmOrderDate <='".$this->request['end_date']."' GROUP BY vTitle";
        }else{
            $this->err=1;
            $this->errMsg.=INVALID_END_DATE;
        }

        if($this->err==0){
            $queryRs = $this->obDb->fetchQuery();
            $recordCount=$this->obDb->record_count;
            if($recordCount>0){
                $this->ObTpl->set_var("TPL_VAR_FROMDATE", $this->libFunc->dateFormat2($this->request['start_date']));
                $this->ObTpl->set_var("TPL_VAR_TODATE", $this->libFunc->dateFormat2($this->request['end_date']));
                for($i=0;$i<$recordCount;$i++)
                {
                    $this->ObTpl->set_var("TPL_VAR_STATUS","Incomplete");
                    if($queryRs[$i]->iOrderStatus==1){
                        $this->ObTpl->set_var("TPL_VAR_STATUS","Complete");
                    }

1 Ответ

0 голосов
/ 10 ноября 2011

Если я понимаю, что вы спрашиваете, вы можете попробовать

SELECT datecol, COUNT(id)
FROM your_table
WHERE datecol BETWEEN date1 AND date2
GROUP BY productId, YEAR(datecol), MONTH(datecol)
ORDER BY datecol
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...