我有一个表 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),
我搜索但在谷歌上没有找到任何合适的帮助。
我们尝试:
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/