我有 Payment Table
. 此付款表有 paymentCusId(It is Customer Id)
, paymentCredit
以及 paymentDebit
行等。。。如何显示,如果客户余额低于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条答案
按热度按时间uyhoqukh1#
您尝试执行的查询有两个错误。
1-为了创建聚合函数,需要使用group by对结果进行分组
2-where子句上的聚合函数不起作用,需要将其放入having子句中。
对于您的情况,正确的查询是:
有关codeigniter查询生成器的更多信息,请查看他们的文档
在尝试获取结果或num\u行等之前,判断查询是否正确的一个好方法是验证它是否有错误: