如何检索多列之和

如何检索多列之和

我有一张表sales_items,我们在其中保存所有销售项目的所有详细信息-我的表是:



sales_id  | sales item| No.ofpacks |   quantity(liters pr pack) |
---------     ----------- ------------   ----------------
   31           petrol        2               2.5
   31           disel de2     3               3.2
   34           petrol se     2               4.2
   31           castrol       7               4.1
------------------------------------------------------------------


现在,我们要获取任意一个sales_id的总升数,这意味着如果我们采用sales_id 31,则我们希望搜索的总liters =(2*2.5) + (3*3.2) +(7*7.2),,但在google上找不到任何合适的帮助。
我们尝试 :

public function total_liter($id) {
        $q = $this->db->get_where('sale_items', array('sale_id' => $id), 1);
        if ($q->num_rows() > 0) {
            foreach($q as $row):

            $total_liter += $row['no_of_packs']*$row['quantity'];
            endforeach;
        }
        return FALSE;
    }

最佳答案

我建议使用mysql

SELECT SUM(quantity * no_of_packs) as total FROM table_name WHERE sales_id = 31


这是CI的味道

$this->db->select('SUM(quantity * no_of_packs) as total', false);
$this->db->from('table_name');
$this->db->where('sales_id', 31);


请注意,select中的第二个参数将防止CI添加不必要的反引号。

关于php - 如何检索多列之和?代码点火器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31162011/

10-11 19:32