如何在一个查询中计算两个不同类型的值,并在PHP / MYSQL中分组显示


How to calculate two different types values in single query to show with grouping in PHP / MYSQL

我想在新建和续订类别下显示一个列表,并为新建和续订单独计算总数。还需要Grand total显示。
下面是MySql查询

SELECT * FROM motor WHERE DATE_FORMAT(date, '%Y %m') = DATE_FORMAT('$selected_year-$selected_month-01', '%Y %m') ORDER BY isnew ASC, date ASC

我把New和Renew分开了,但是不能取列的Sum。
下面是PHP代码

    <?php
    if (empty($selected_m_q)){
        echo "<tr><td colspan='7'>$message</td></tr>";
    }else {
        $previous_staus = "";
        $type = "";
        while ($current_m_data = mysql_fetch_assoc($selected_m_q)){
            //var_dump ($current_m_data);
            $status = $current_m_data['isnew'];
            if ($status != $previous_staus){
                if ($status == 1){$type="New";}
                if ($status == 2){$type="Renew";}
                echo "<tr><td colspan='7'>status : $type</td></tr>";
                $previous_staus = $status;
            }
?>
<tr>
    <td><?php echo $current_m_data['date']; ?></td>
    <td><?php echo $current_m_data['policy_no']; ?></td>
    <td><?php echo $current_m_data['vnumber']; ?></td>
    <td><?php echo $current_m_data['name']; ?></td>
    <td align="right"><?php echo $current_m_data['gpremium']; ?></td>
    <td align="right"><?php echo $current_m_data['premium']; ?></td>
    <td><a href="edit-data-m.php?id=<?php echo $current_m_data['id']; ?>">Edit</a> | 
        <!--<input type="button" id="<?php //echo $current_m_data[id]; ?>" class="delete" value="Delete" >-->
        <a href="#" id="<?php echo $current_m_data['id']; ?>" class="delete">Delete</a>
    </td>
</tr>
<?php
        }
    }
?>

我想做的是显示新增和续费下保费栏的总额。在底部应该显示新的和更新的总数。
有谁能帮我一下吗?

表电机有以下列

iddate,policy_no,vnumber,name,address,expected,gpremium,premium,contact_detail,isnew

我试过计算,但只有我能得到New的总数。

我的要求是这样的(在表中显示)


新状态
的数据行很少 New
更新
处于renew状态的数据行很少
Renew的保费字段总数
Then Grand Total

如果我在这里写得不好,我很抱歉。这是我的第一个

在你的循环中,你可以保持一个总数的运行计数....

 <?php
    if (empty($selected_m_q)){
        echo "<tr><td colspan='7'>$message</td></tr>";
    }else {
  >>>>  $previous_status = 1;
        $type = "";
  >>>>  $subTotal = 0;
  >>>>  $grandTotal = 0;
        while ($current_m_data = mysql_fetch_assoc($selected_m_q)){
            //var_dump ($current_m_data);
            $status = $current_m_data['isnew'];
            if ($status != $previous_staus){
>>>>>                
        ?>
            <tr> <td></td><td></td><td></td><td></td> 
                 <td><?= $subTotal ?></td> 
                 <td></td><td></td><td></td>
            </tr>
        <?php
            $subTotal = 0;
<<<<<
                if ($status == 1){$type="New";}
                if ($status == 2){$type="Renew";}
                echo "<tr><td colspan='7'>status : $type</td></tr>";
                $previous_staus = $status;
            }
  >>>>      $subTotal += $current_m_data['premium'];
  >>>>      $grandTotal += $current_m_data['premium'];
?>
<tr>
    <td><?php echo $current_m_data['date']; ?></td>
    <td><?php echo $current_m_data['policy_no']; ?></td>
    <td><?php echo $current_m_data['vnumber']; ?></td>
    <td><?php echo $current_m_data['name']; ?></td>
    <td align="right"><?php echo $current_m_data['gpremium']; ?></td>
    <td align="right"><?php echo $current_m_data['premium']; ?></td>
    <td><a href="edit-data-m.php?id=<?php echo $current_m_data['id']; ?>">Edit</a> | 
        <!--<input type="button" id="<?php //echo $current_m_data[id]; ?>" class="delete" value="Delete" >-->
        <a href="#" id="<?php echo $current_m_data['id']; ?>" class="delete">Delete</a>
    </td>
</tr>
<?php
        }
?>
<tr> <td></td><td></td><td></td><td></td> 
     <td><?= $grandTotal ?></td> 
     <td></td><td></td><td></td>
</tr>
<?php
    }
?>