Php 如何在MySql中对当月记录求和,我的语法有问题 问题

Php 如何在MySql中对当月记录求和,我的语法有问题 问题,php,mysql,codeigniter,Php,Mysql,Codeigniter,在我的主管理页面中,我想计算当月利润。检查此项: public function getPaymentsByMonth() { return $this->db->select('sum(payment_grand) as grand') ->where('MONTH(payment_date)', date('m')) ->count_all_results('pa

在我的主管理页面中,我想计算当月利润。

检查此项:

public function getPaymentsByMonth()
{   
    return
    $this->db->select('sum(payment_grand) as grand')
                     ->where('MONTH(payment_date)', date('m'))
                     ->count_all_results('payments');
}
public function getPaymentsByMonth()
  {  
      $sql = "SELECT SUM(`payment_grand`) AS grand FROM payments WHERE MONTH(`payment_date`)=MONTH( CURRENT_DATE )";
    $query= $this->db->query($sql);
    return $query->row('grand');
}

接受的答案将汇总所有年份的记录,而不是当前年份和月份的记录。如问题所述,“如何求当前月份的总和…”正确的查询应为

public function getPaymentsByMonth()
{   
    return
    $this->db->where('MONTH(payment_date)', date('j'))
             ->count_all_results('payments');
}

确切的错误是什么?或在完成查询后写入return语句group By在哪里?Sum是一个聚合函数,它与groupBy.yeap一起工作,但我找不到如何做that@RavshanAbdurasulov,您是否尝试过使用
groupby()
?Mayank Vadiya,这里显示了16如果我使用groupby,如果您发现他/她的答案令人满意,请标记为答案并向上投票
public function getPaymentsByMonth()
{   
    return
    $this->db->where('MONTH(payment_date)', date('j'))
             ->count_all_results('payments');
}
SELECT SUM(`payment_grand`) AS grand FROM payments WHERE MONTH(`payment_date`)=MONTH( CURRENT_DATE ) AND YEAR(`payment_date`)=YEAR( CURRENT_DATE )