php - 使用 mysqli 从数据库中选择、分组和求和结果

标签 php mysql

我有一条每天捕获的包含 customerId、GroupId、amountContributed 的记录。现在我想返回一个表,显示具有组 id 的客户贡献的总金额。我以前的代码是:

if(isset($_POST["searchVal"])){
//$searchText = $_POST["searchText"];
$sDate = $_POST["sDate"];
$eDate = $_POST["eDate"];
$query = mysqli_query($connection,"SELECT custid,grpid,amountContribute FROM tab_customer_dailycontribution WHERE cast(transactionDate as date) BETWEEN '$sDate' AND '$eDate'");
if($connection->affected_rows>0){
    $c =0;$con =0.00;

while($rw = mysqli_fetch_array($query)){
    $c++;?> 
    <tr>
    <td><?php echo $c;?></td>
    <td><?php echo $rw['custid'];?></td>
    <td><?php echo $rw['grpid'];?></td>
    <?php $con+=$rw['amountContribute']; ?>
    <td><?php echo number_format($con,2);?></td>
  <?php  } ;?>
   </tr>
   <tr>

上面给出了这个表格:

S/N CustomerID  Group ID    Total Contribution
    1   SC20151 SGC20151    700.00
    2   SC20151 SGC20151    500.00
    3   SC20151 SGC20151    500.00
    4   SC20152 SGC20151    500.00
    5   SC20152 SGC20151    500.00
    6   SC20152 SGC20151    500.00
    7   SC20152 SGC20151    500.00
    8   SC20152 SGC20151    500.00
    9   SC20152 SGC20151    500.00
    10  SC20152 SGC20151    500.00
    11  SC20152 SGC20151    500.00
    12  SC20152 SGC20151    500.00
    13  SC20152 SGC20151    500.00
    14  SC20153 SGC20152    1,000.00
    15  SC20153 SGC20152    1,000.00

所以,我希望输出如下表所示:

 SN        Customer ID      Group ID       Amount Conributed
    1         SC20152           SCG20151        5000
    2         SC20151           SCG20151        1200
    3         SC20153           SCG20152        2000 

有人可以帮忙吗?我已经使用了 group by customerid,amountcontributed 但不起作用。

最佳答案

SELECT custid, grpid, SUM(amountContribute) AS sumAmountContribute
FROM tab_customer_dailycontribution 
WHERE CAST(transactionDate AS date) BETWEEN '$sDate' AND '$eDate'"
GROUP BY custid, grpid

会给你你所需要的。

输出时,您必须更改数组索引:

<?php echo $rw['sumAmountContribute']; ?>

关于php - 使用 mysqli 从数据库中选择、分组和求和结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33076134/

相关文章:

MySQL 不使用 xampp 中的端口?

php - 从 Symfony2 中的服务调用 createForm() 和 generateUrl()

php - 只打开我想要的 div(jquery)

php - Nginx + PHP : stop process at canceled request

php - 将 api 输出从对象更改为数组 laravel

php - html 表在使用 php 从 mysql 获取行时采用额外的空白值

php - Zend Framework 插件自动加载

php - 如果其他表中不存在,则从 mysql 中检索值

php - 大型PHP项目所需的基础结构

mysql - 选择最后 x 行