mysql 不存在返回0_MySQL查询 - 返回过去4个月的数据,如果某个月没有数据返回0...

该博客讨论了在CodeIgniter模型中如何编写查询以获取过去四个月的订单和完成数据。目前的查询能正确返回指定月份的数据,但在没有数据的月份不显示0,导致数据同步问题。解决方案可能是通过修改查询来确保所有月份都有条目,即使值为0。
摘要由CSDN通过智能技术生成

但我无法弄清楚如何使用我的查询实现它 .

我需要前4个月的数据,如果那个月没有输出0 .

这是我在codeigniter模型中的当前查询:

function getMonthlySumOrders()

{

$this->db->select("SUM(price_each*quantity) AS sum_monthly_price, DATE_FORMAT(job.order_date, '%M') AS 'order_date', customer.company_name", false);

$this->db->join('job', 'job.job_id = job_details.job_id');

$this->db->join('customer', 'customer.company_id = job.company_id');

$this->db->where('job.company_id', $this->uri->segment(3));

$this->db->where('month(job.order_date)<=', date("m"));

$this->db->where('month(job.order_date)>=', date("m")-3);

$this->db->group_by('MONTH(job.order_date)');

$this->db->order_by('job.order_date', "asc");

$query = $this->db->get('job_details');

return $query->result_array();

}

function getMonthlySumCompleted()

{

$this->db->select("SUM(price_each*quantity) AS sum_monthly_price", false);

$this->db->join('job', 'job.job_id = job_details.job_id');

$this->db->join('customer', 'customer.company_id = job.company_id');

$this->db->where('job.company_id', $this->uri->segment(3));

$this->db->where('month(job.completed_date)<=', date("m"));

$this->db->where('month(job.completed_date)>=', date("m")-3);

$this->db->group_by('MONTH(job.completed_date)');

$this->db->order_by('job.completed_date', "asc");

$query = $this->db->get('job_details');

return $query->result_array();

}

此时查询返回正确日期的结果,但没有值时不显示0,因此两组数据之间的顺序不同步 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值