php - 如何检索多列的总和?代码点火器

标签 php mysql codeigniter

我有一个表 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/

相关文章:

php - 过滤 MySQL 结果的最佳实践

javascript - 将 json 结果添加到表单操作 url

php - 是否可以在 codeigniter 中用 where 条件计算所有?

javascript - 如何在浏览器或选项卡关闭时获取 Web 通知

php - 选择用户详细信息时的 MySQL 更新事件

php - 简单的子查询?

php - JSON 在我的应用程序中返回 [null,null]

mysql - mysql中的存储过程变量

php - Codeigniter - 插入多个表

jquery - 在codeigniter(flashdata)中返回一个json对象