+-----+-----+-------+
| PID | Qty | Price |
+-----+-----+-------+
| 1 | 5 | 100 |
| 2 | 10 | 500 |
| 3 | 4 | 300 |
+-----+-----+-------+
$this->db->select("SUM(qty) as total, price as last price");
$this->db->from('table');
$query = $this->db->get();
$result = $query->result();
现在上面的代码将返回与价格一样多的行,
我只想返回一行,其中包含总数量和最后一个价格值
预期输出:
Array (
[0] => stdClass Object
(
[total] => 19
[last_price] => 300
)
)
我有一个包含数千行数量和价格的表,但我想选择列数量的总和,仅选择价格的最后一个值,而不是数量和所有行价格的总和,我只想要价格的最后值如何编写我的选择查询?
提前谢谢您。
最佳答案
你可以像下面这样做:-
$this->db->select("SUM( qty ) AS qty, (SELECT Price FROM <table name> ORDER BY PID DESC LIMIT 1) AS Price");
$this->db->from('table');
注意:- 而不是 <table name>
在那里写下您的实际表名。还要注意列名。
关于php - CI如何在另一列查询的选择总和中选择另一列的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43584371/