2011-11-10 28 views
0

我正在工作的時刻,需要引入商店中的所有產品,並顯示在該時間段之間已經接通了多少個訂單期間很容易做到,但是同一張表中也需要將產品訂單的數量分成訂購單獨的幾個月份,有沒有什麼方法可以擴展一個單元格的數據請指望它,然後將它分成幾個月?我需要擴展一個單元的mysql數據組

 $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"); 
        } 
+0

請加你想看到你要查詢的數據庫表的結構佈局的樣本什麼。否則,你的問題的答案是'是'。 – dnagirl

+0

如果您當前的查詢以及您如何嘗試更改,請顯示一些精簡版本。這將有助於瞭解你正在嘗試做什麼。 –

+0

我已經添加了正在使用的代碼。如果您在兩個月之間進行選擇,例如十月和十一月,則會將訂單分開,以顯示十月份的3和十一月份的2。 – user1039856

回答

0

如果我理解你的要求,你可以嘗試

SELECT datecol, COUNT(id) 
FROM your_table 
WHERE datecol BETWEEN date1 AND date2 
GROUP BY productId, YEAR(datecol), MONTH(datecol) 
ORDER BY datecol