gpt4 book ai didi

php - mysql如何对两行进行求和和相乘

转载 作者:行者123 更新时间:2023-11-29 10:19:11 24 4
gpt4 key购买 nike

我有两个产品具有相同的唯一代码(数据库表):

+----------------------------------+-----+-------+
| CODE | QTY | Price |
+----------------------------------+-----+-------+
| 977b8213fd7s7d0129f4358a75ca967f | 143 | 11.83 |
| 977b8213fd7s7d0129f4358a75ca967f | 31 | 10.48 |
+----------------------------------+-----+-------+

我必须对QTYPrice 求和并相乘才能得到总价。

在上面的示例中,总价应为 2016.57 (11.83 × 143 + 10.48 × 31 = 2016.57)。

我尝试了这个,但我得到了两个总数(1691.69 和 2016.57):

$code = "977b8213fd7s7d0129f4358a75ca967f";
$ttl=0;

try{
$database = new Connection();
$db = $database->openConnection();
$sql= "SELECT qty*rraate AS sum FROM carrrt WHERE code = :code";
$qry = $db->prepare($sql);
$qry -> bindParam(':code', $code, PDO::PARAM_INT);
$qry -> execute();
while ($qnow = $qry->fetch(PDO::FETCH_ASSOC)){
$ttl += $qnow['sum'];
echo $ttl;
}

} catch (PDOException $e) {
echo "There is some problem in connection: " . $e->getMessage();
}

为什么我得到两个总数以及我做错了什么?

最佳答案

听起来您想使用聚合。

看看这是否可以解决您的问题

$sql= "SELECT SUM(qty*rraate) AS sum FROM carrrt WHERE code = :code";

我使用的 select 中的 SUM() 称为聚合,这是从每一行收集数据并将其组合成某个值的主要方法。

除非您使用聚合,否则表中的每一行都会得到不同的答案。有关聚合的更多信息,您可以查看here

关于php - mysql如何对两行进行求和和相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49639665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com