我想學習 CodeIgniter,有一個這樣的例子:
我有一個資料庫(tbl_points)
我有這樣的輸出:
| ID | 庫存單位 | 觀點 |
|---|---|---|
| 1 | 001 | 10 |
| 2 | 001 | -1 |
| 3 | 002 | 5 |
| 4 | 002 | -2 |
| 5 | 001 | -1 |
我很難根據 SKU 進行分組,然后在那時將每個值相加。你能幫我把它變成這樣嗎?非常感謝。
| ID | 庫存單位 | 觀點 |
|---|---|---|
| 1 | 001 | 8 |
| 2 | 002 | 3 |
uj5u.com熱心網友回復:
如果你想為 ci3 撰寫查詢。
$this->db->select('sku');
$this->db->select_sum('point');
$this->db->from('tbl_points');
$this->db->group_by('sku');
$query = $this->db->get();
$row = $query->result();
print_r($row);
uj5u.com熱心網友回復:
這可以通過簡單的 mysql SUM() 解決,請參閱聚合函式描述
select * , sum(`point`) as my_point
from `tbl_points`
group by `sku`
如果您真的需要一個新的“id”,您可以使用用戶定義的變數擴展您的查詢,為每個新行添加 1:
set @row_num=0;
select * , sum(`point`) as my_point, @row_num:=@row_num 1 AS new_id
from `tbl_points`
group by `sku`
檢查對應的mysql fiddle
使用 CI3.x 的 Codeigniter Query Builder 示例創建該查詢:
$this->db->select('* , sum(point) as my_point');
$this->db->group_by('sku');
$query = $this->db->get('tbl_points');
并且使用用戶定義的變數,您需要 2 個查詢,例如:
$sql="set @row_num:=0";
$this->db->query($sql);
$sql="select * , sum(`point`) as my_point, @row_num:=@row_num 1 AS new_id
from `tbl_points`
group by `sku`
";
$query=$this->db->query($sql);
要快速輸出結果,您可以撰寫以下行:
echo '<pre>';print_r($query->result());
無論如何建議檢查如何生成 CI 查詢結果
uj5u.com熱心網友回復:
您需要先對其求和,然后按此欄位分組:-
$sql = "select id,sku, sum(`point`) as my_point from `tbl_points`
group by `sku`";
$query = $this->db->query($sql);
輸出結果:-
echo '<pre>';
print_r($query->result());
您的輸出結果:-
id sku my_point
1 001 8
3 002 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/455091.html
下一篇:從“復雜”的json檔案中讀取值
