gpt4 book ai didi

mysql - 使用 mysql 循环获取特定列来添加其值会返回 NaN

转载 作者:行者123 更新时间:2023-11-29 15:45:28 25 4
gpt4 key购买 nike

我有下面的带有 sql 查询的代码。我正在尝试使用 for 循环在查询中添加 Totalcost 列的值。当我尝试运行该程序时,我得到的是 NaN,它打印了 6 次,而它应该只打印一次

我使用 rows[0].Totalcost 来获取我想要的列,它仅打印结果的第一行。然后我使用循环将其添加到总成本变量中。当我控制台日志时它返回 NaN

router.get("/requestvoucher/:rvnumber/:status/:to", isLoggedIn,  function(req, res){
var reqvoucher = req.params.rvnumber;
var status = req.params.status;
var to = req.params.to;
var totalcost;
var sql = `SELECT Itemname, Itemcode, Quantity, Totalcost, Description, Brand, Category, RVnumber, Requestto,Requeststatus FROM billingdata.rvrequest WHERE rvnumber=?`;
query = db.query(sql,[reqvoucher], function(err, rows){
if (err) {
throw err;
}else{
//console.log(rows[0].Totalcost);
//My Console.logs prints 6 times i have no idea why
for (var i = 0; i < rows.length; i++) {
var totalcost =+ rows[0].Totalcost[i];
}
console.log(totalcost);
res.render('updaterequest', {dataUpdate: rows, rvNumber: reqvoucher, reqStats: status, reqto: to});
}
});
});```

I'm expecting the sum of the Totalcost column using for loop and printed it once.

最佳答案

只需更换var Totalcost =+ rows[0].Totalcost[i];var totalcost += rows[0].Totalcost[i];

还有一个。看起来你的 rows[0].Totalcost[i] 有时不是一个数字。因此你的总和可以是NaN。为了防止这种情况,你可以使用类似的东西totalcost+=isNaN(rows[0].Totalcost[i])?0:rows[0].Totalcost[i]

关于mysql - 使用 mysql 循环获取特定列来添加其值会返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57104884/

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