减去两列SUM,然后将结果SUBTRACT和SUM结果显示最小数量

时间:2015-05-06 15:21:15

标签: mysql count group-by sum

这个问题有点复杂,但我需要显示SUBTRACT的SUM两列SUM,然后将结果变为SUBTRACT。

现在,当每个产品的最小数量低于“x”值时,我得到结果(1,1,1),但现在显示三个按钮(因为有3个产品的最小数量低于)最小数量图例和我需要显示一个按钮,每个示例3最小数量..

这是我的代码:

$sql = "SELECT SUM(existencia - vendido) AS texist, alert_cantidad FROM PRODUCTOS GROUP BY cod";
$result = $conn->query($sql);
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $texist = $row['texist'];
    $alerta = $row['alert_cantidad'];
    $result2 = $texist - $alerta;
    if ($result2 < 0) { 
        echo "<li><a class='btn btn-info' href='alertProduct.php'>
        <i class='glyphicons glyphicons-circle_exclamation_mark'></i>
        " .$result2." minima cantidad
        </a></li>";
    }
}

这是一个问题的捕获:

enter image description here

这是我真正需要展示的内容:

enter image description here

1 个答案:

答案 0 :(得分:1)

将您的SUM查询放入子查询中,然后在主查询中使用COUNT(*)以获取符合条件的数字:

$sql = "SELECT COUNT(*) AS count
        FROM (SELECT SUM(existencia - vendido) AS texist, alert_cantidad 
              FROM PRODUCTOS 
              GROUP BY cod) AS x
        WHERE texist < alert_cantidad";
$result = $conn->query($sql);
$row = $result->fetch(PDO::FETCH_ASSOC);
$count2 = $row['count'];
echo "<li><a class='btn btn-info' href='alertProduct.php'>
    <i class='glyphicons glyphicons-circle_exclamation_mark'></i>
    " .$result2." minima cantidad
    </a></li>";