点火器 - 显示带有条件的数字



我有Payment Table.此付款表有paymentCusId(It is Customer Id)paymentCreditpaymentDebit行等...我怎么能显示,如果客户的余额低于50欧元,我想显示有多少客户的余额低于50欧元

例如,5 个客户的余额少于 50。

我可以使用sql查询php条件来解决这个问题吗?

代码如下:

$this->db->select('payment.paymentCusId, sum(paymentCredit) - sum(paymentDebit)');
$this->db->from('payment');
$this->db->where('sum(paymentCredit) - sum(paymentDebit) <', 50);
$query_debit =  $this->db->get();
$number = $query_debit->num_rows();
echo $number;

此代码不能正常工作。我该怎么做才能显示少于 50 欧元的客户数量?

您尝试执行的查询有两个错误。

1 - 为了您的函数聚合函数,您需要使用GROUP BY对结果进行分组

2 - WHERE 子句上的聚合函数不起作用,您需要将其放在 having 子句中。

对于您的情况,正确的查询是:

$this->db->select('payment.paymentCusId, sum(paymentCredit) - sum(paymentDebit)');
$this->db->from('payment');
$this->db->group_by('payment.paymentCusId');
$this->db->having('sum(paymentCredit) - sum(paymentDebit) <', 50);
$query_debit = $this->db->get();
$number = $query_debit->num_rows();
echo $number;

有关代码点火器查询生成器的更多信息,请查看其文档

在尝试获取结果或num_rows等之前确定查询是否正确的一个好方法是验证它是否有错误:

$error = $this->db->error();
if($error) {
echo $error['message'];
echo $error['code'];
}

相关内容

  • 没有找到相关文章

最新更新