2017-07-31 72 views
0

我想使用MYSQL查詢來分組每個月和每年以及總月份,我已經嘗試了各種各樣的時間,但它似乎總是出錯。查詢到組月,年,金額

我當前的查詢:

<table class="table table-condensed table-striped table-hover table-responsive"> 
    <thead> 
    <tr> 
     <th>Month</th> 
     <th>Year</th> 
     <th>Amount</th>  
    </tr> 
    </thead> 
    <tbody> 
     <?php     
     $p1 = DB::getInstance()->select("SELECT SUM(`pay_cost`) AS `madePerMonth` MONTH(pay_date) as month, YEAR(pay_date) as year FROM `payments` GROUP BY YEAR(pay_date), MONTH(pay_date) DESC"); 
     ?> 
     <?php foreach ($p1 as $r1) { ?> 
     <tr> 
      <td><b><?php echo $r1['month']; ?></b></td> 
      <td><b><?php echo $r1['year']; ?></b></td> 
      <td><b><?php echo $r1['madePerMonth']; ?></b></td> 
     </tr> 
     <?php } ?> 
    </tbody> 
</table> 

此錯誤顯示:1.An別名先前被發現。 (靠近「月」位置56)任何人都可以看到這個問題嗎?任何幫助表示讚賞。

+0

可能重複[MySQL查詢GROUP BY日/月/年](https://stackoverflow.com/questions/508791/mysql-query-group-by-day-month-year) – rtfm

+1

更改別名MONTH( (月)和YEAR(pay_date)作爲年份(年)示例更改MONTH(pay_date)作爲month_alias' –

+2

看起來像在MONTH(pay_date)之前缺少逗號 –

回答

1

月或月是MySQL中的保留字(MySQL Documentation)。這可能是導致你的錯誤的原因。您應該使用Guillermo Andres Fuentes Moral評論中的解決方案。