Mysql Group By和Sum列值的总和

时间:2017-07-14 06:46:36

标签: php mysql

enter image description here我有一个像id,sale_id,item_total,tax fields这样的表。需要通过对税值进行分组来对item_total求和。

表1

id | sale_id | item_cost_price |税|

1 | 10 | 150 | 5 |

2 | 10 | 50 | 7 |

3 | 10 | 30 | 5 |

这是必需的输出:

id | sale_id | item_cost_price |税|

1 | 10 | 180 | 5 |

2 | 10 | 50 | 7 |

当我尝试此查询时,

   SELECT sale_id,tax  FROM bgs_ib_sales_items GROUP BY tax

                $query=$this->db->query("SELECT sale_id,tax  FROM bgs_ib_sales_items GROUP BY tax ");

            echo $num = $query->num_rows();
            $result=array();

                foreach($query->result() as $row){
                     $result_row[]=$row->sale_id;
                     $result_row[]=$row->tax;
                     $result_row[]=$row->item_cost_price;

                }

我的输出是: 我得到这样的输出,

我正在获得不同的税。但我需要总计项目总值。

注意:

图1:参考我的数据表  图2:参考我预期的输出enter image description here

1 个答案:

答案 0 :(得分:0)

在SELECT语句中添加SUM(item_cost_price)

在您的select语句中,您只选择sale_id,tax。但你回应的是sale_id,tax和 item_cost_price ,它们在SELECT语句中不存在。试试这个: -

    $sql = "SELECT sale_id,tax, SUM(item_cost_price ) AS TotalPrice FROM bgs_ib_sales_items WHERE sale_id = '10' GROUP BY tax";

    $query=$this->db->query($sql);

    foreach($query->result() as $row){
      $result_row[]=$row->sale_id;
      $result_row[]=$row->tax;
      $result_row[]=$row->TotalPrice;

    }