如何在PHP/MYSQL中通过分组在单个查询中计算两种不同类型的值

如何在PHP/MYSQL中通过分组在单个查询中计算两种不同类型的值,php,mysql,sql,Php,Mysql,Sql,我想在“新建”和“续订”类别下显示一个列表,其中包含“新建”和“续订”的单独合计计算。还需要总计显示。 这里是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 我已将“新建”和“续订”分开,但无法计算列的总和。 下面是PHP代码 <?

我想在“新建”和“续订”类别下显示一个列表,其中包含“新建”和“续订”的单独合计计算。还需要总计显示。
这里是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
我已将“新建”和“续订”分开,但无法计算列的总和。
下面是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
        }
    }
?>

| 
我想做的是在“新建”和“续订”下显示“高级”列的总数。底部应显示新增和更新的总数。
有人能帮我吗

表中有以下列

id
日期
政策编号
vnumber
名称
地址
预期值
gpremium
premium
联系方式详情
isnew

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

我的要求如下(显示在表格中)

新增
新状态的数据行很少
新的保险费字段总数
续订
“续订”状态下的数据行很少
要续订的“特优”字段总数
然后是总计


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

在您的循环中,您只需对总数进行连续计数

 <?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
    }
?>

| 

你能发布表格定义吗?我需要在评论中显示这样的新内容-----数据行数据行-----新总计-----更新-----数据行数据行-----更新总计========================================总计,恐怕格式不太正确。。。你能在答案中加上格式吗?谢谢,从你的问题更新中,我更新了答案:)谢谢@Jimbo的帮助。这个修改对我来说很有效。但我做了一些小的修改来显示更新部分的小计。它没有显示为替换为您的代码。我在更新周期中对if语句进行了调整。再次感谢:)