php - COUNT操作前如何检查?

标签 php mysql count sum

1) 我有一个名为“plan_info_upload”的表,如下所示:

site_id site_name   2G_bw   3G_bw   route_path
1       MBCGP1      11      0       abc>bcd>cde
2       BOPBG2      12      22      mnl>khl>jhg
3       BOPCB1      11      0       abc>bcd>khl>bbo
4       BOSBB1      0       25      bops>doc>abc>bcd>jkl

我必须从 routh_path 中找到 unique_hop 的 2g 和 3g bw 以及总共 2g 和 3g bw。但如果其 2G_bw 或 3G_bw 为零,则不计入。但我不明白如何在计数之前检查它的值是否为 0。

我的代码在这里:

<?php
    $unique_hop=$_POST['unique_hop']; 
    $i = 0;
    $sql4 = "SELECT COUNT(2G_bw) AS no_of_2G, SUM(2G_bw) AS total_2G_bw, COUNT(3G_bw) AS no_of_3G, SUM(3G_bw) AS total_3G_bw FROM plan_info_upload WHERE route_path LIKE '%$unique_hop%'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0)
    {
        while($row = $result->fetch_assoc()) 
        {
            $no_of_2G = $row['no_of_2G'];
            $total_2G_bw = $row['total_2G_bw'];
            $no_of_3G = $row['no_of_3G'];
            $total_3G_bw = $row['total_3G_bw'];
            ?>

            <tr>
                <td><?php echo ++$i;?></td>
                <td><?php echo $unique_hop;?></td>
                <td><?php echo $no_of_2G;?></td>
                <td><?php echo $total_2G_bw;?></td>
                <td><?php echo $no_of_3G;?></td>
                <td><?php echo $total_3G_bw;?></td>
            </tr>
            <?php
        }
    }
?>

从第一个表中,如果我选择 unique_hop "abc>bcd",则 3 个 routh_path 具有此字符串并对它们现有的 2G_bw 和 3G_bw 进行计数和求和。

我的期望输出是:

unique_hop     no_of_2G   total_2G_bw   no_of_3G   total_3G_bw
abc>bcd        2          22            1          25

但是输出是这样的:

unique_hop     no_of_2G   total_2G_bw   no_of_3G   total_3G_bw
abc>bcd        3          22            3          25

那么如何在 COUNT 操作之前进行检查呢?请任何人帮助我解决问题。

最佳答案

试试这个:

SELECT COUNT(nullif(2G_bw, 0)) AS no_of_2G, SUM(2G_bw) AS total_2G_bw, COUNT(nullif(3G_bw, 0)) AS no_of_3G, SUM(3G_bw) AS total_3G_bw FROM plan_info_upload WHERE route_path LIKE '%$unique_hop%'";

关于php - COUNT操作前如何检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672128/

相关文章:

php - .htaccess 重定向根文件夹中的 .pdf/.doc 文件

php - 在 filesystems.php Laravel 中添加自定义存储路径

mysql - 将 not exits 转换为另一个使用 join 的查询

javascript - Javascript 中的复选框

sql - 从 MySQL 查询中选择 2 个 COUNT()

php - 如何在 php 中创建 hmac md5?

php - 反序列化问题

mysql - SQL从其他表中获取ID上的名称

mysql - 从 mysql 数据库获取 unix 时间戳并应用偏移量

mysql - SQL:如何进行条件 COUNT 和 SUM