我有一个表格长这样:
id | Item | Quantity | Amount | created
________________________________________________
1 | Monitor | 10 | 5000 | 2013-01-11
2 | Keyboard| 10 | 200 | 2013-02-19
3 | Monitor | 10 | 5000 | 2013-02-13
3 | Keybard | 10 | 200 | 2013-04-19
当我传递查询时:
SELECT monthname( created ) AS
MONTH , sum( quantity ) AS qty
FROM `sales`
WHERE year( created ) = '2013'
GROUP BY monthname( created )
ORDER BY monthname( created ) DESC
它会返回结果:
month | qty
______________________
January | 10
February | 20
April | 10
但我想要检索的内容是:
month | qty
______________________
January | 10
February | 20
March | 0
April | 10
- Since I have no sales no march the result must return march sales with quantity 0.
I am using Codeigniter in my application so if we can't solve it through sql then may be you can show me the way to solve it through Codeigniter.
$this->db->select('monthname(created) as month, sum(quantity) as qty'); $this->db->from('sales'); $this->db->where('year(created) = 2013'); $this->db->group_by('monthname(created)'); $this->db->order_by('monthname(created)'); $this->data['sales'] = $this->db->get()-result();
$data = array();
foreach($sales as $sale) {
$data[] = $sale->qty;
}
$data
的输出结果:
10, 20, 10 in array;
我需要的是:
10, 20, 0, 10 array