php+mysql多重查询值求和


$cbumen = mysqli_query($daohang, 'SELECT * FROM baa WHERE bumen=1);

while($row = mysqli_fetch_array($cbumen)){

$qudaoma=$row['qudaoma'];
$jr = mysqli_query($conn, 'SELECT * FROM kh WHERE user_id='.$qudaoma.' ');
$jrtj=mysqli_num_rows($jr);

echo $jrtj;

 }

因为$qudaoma 有多个值,比如有五个值,那么输出的$jrtj就有五个值,如果才能输出$jrtj的和、

在while遍历一次累加要求和的字段

$cbumen = mysqli_query($daohang, 'SELECT * FROM baa WHERE bumen=1);
while($row = mysqli_fetch_array($cbumen)){

$qudaoma=$row['qudaoma'];
$jr = mysqli_query($conn, 'SELECT * FROM kh WHERE user_id='.$qudaoma.' ');
$jrtj=0;
while($rjrow = mysqli_fetch_array($jr)){
$jrtj=$rjrow["要求和的字段名"];
}
echo $jrtj;
 }

或者直接sql求和

$cbumen = mysqli_query($daohang, 'SELECT * FROM baa WHERE bumen=1);
while($row = mysqli_fetch_array($cbumen)){

$qudaoma=$row['qudaoma'];
$jr = mysqli_query($conn, 'SELECT sum(要求和的字段名) as total FROM kh WHERE user_id='.$qudaoma.' ');

$rjrow = mysqli_fetch_array($jr);
$jrtj=$rjrow["total"];

echo $jrtj;
 }

要求总记录数,可以这么写

$cbumen = mysqli_query($daohang, 'SELECT count(kh.*) FROM baa left join kh on baa.qudaoma=kh.user_id WHERE baa.bumen=1);
mysqli_field_seek($cbumen,0);
$fieldinfo=mysqli_fetch_array($cbumen );
echo $fieldinfo[0]; //输出总条数

如果是要求各不同qudaoma之间的记录数的话,那就分组
比如

$cbumen = mysqli_query($daohang, 'SELECT baa.qudaoma as qudaoma,count(kh.*) as allnum FROM baa left join kh on baa.qudaoma=kh.user_id WHERE baa.bumen=1 group by kh.user_id);
while($row =mysqli_fetch_array($cbumen )){
 echo $row ['qudaoma'].'的记录数:'.$row ['allnum']; //输出总条数
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632