如何在codeigniter中使用mysql substring_index计算JSON格式数据的总和
Posted
技术标签:
【中文标题】如何在codeigniter中使用mysql substring_index计算JSON格式数据的总和【英文标题】:How to calculate sum of JSON formatted data using mysql substring_index in codeigniter 【发布时间】:2019-02-06 03:18:53 【问题描述】:我有 3 行每个员工 4 月、5 月、6 月的月薪明细。 Payslip_earnings 列以 JSON 格式保存详细信息,例如
"basicpay":40000,"hra":16000,..etc
在使用 phpmyadmin 单独执行查询时,我可以获取 json 数据变量的总和
sum(substring_index ( substring_index (payslip_earnings,'"basicpay":',-1),'," ',1) ) as basic.
在codeiginter模型页面中选择基本内部时面临空白页面错误/语法错误
$query = $this->db->query("SELECT payslip.payslip_empcode,
sum(substring_index ( substring_index (payslip_earnings,'"basicpay":',-1),'," ',1) ) as basic
FROM payslip LEFT OUTER JOIN employee_official_master ON
payslip.payslip_empcode=employee_official_master.employee_code
WHERE payslip.payslip_fyear = '2018' and
payslip.payslip_empcode IN ('MAR015','MAR010') AND
( payslip_month = 'April' OR payslip_month = 'May' OR payslip_month = 'June')
GROUP BY payslip.payslip_empcode "
);
如何在 codeigniter 模型页面中实现相同的功能?
【问题讨论】:
观看您的报价,"SELECT... '"basicpay":'
感谢您的建议.. kerbholz
【参考方案1】:
Try this One..
$colname = '"basicpay":' ;
$seperator = ',';
$query = $this->db->query("SELECT payslip.payslip_empcode,
sum(substring_index (substring_index (payslip.payslip_earnings,'".$colname."',-1),'".$seperator."',1) ) as basicpay
FROM payslip LEFT OUTER JOIN employee_official_master ON
payslip.payslip_empcode=employee_official_master.employee_code
WHERE payslip.payslip_fyear = '2018' and
payslip.payslip_empcode IN ('MAR015','MAR010') AND
( payslip_month = 'April' OR payslip_month = 'May' OR payslip_month = 'June')
GROUP BY payslip.payslip_empcode "
);
【讨论】:
以上是关于如何在codeigniter中使用mysql substring_index计算JSON格式数据的总和的主要内容,如果未能解决你的问题,请参考以下文章
如何在codeigniter中使用ajax在mysql数据库中插入数据?
如何使用codeigniter在mysql几何列中插入多边形点?