我对使用Node.js的SQL很陌生,我使用 knex raw来运行sql查询,我想添加两列
这是我的代码
db.raw("SELECT SUM(`column1`) + SUM(`column2`) FROM `sales` AS `total`")
.then(result => console.log(result[0]))
如果我正在运行它,我将在控制台中获取它
[RowDataPacket {
'SUM(`column1`) + SUM(`column2`)': 33458338.169500016 } ]
我期望得到
[RowDataPacket {
'total': 33458338.169500016 } ]
但是,因为它的名字无关紧要,所以我只想要数字,所以我尝试了这个
db.raw("SELECT SUM(`column1`) + SUM(`column2`) FROM `sales` AS `total`")
.then(result => console.log(result[0]['SUM(`column1`) + SUM(`column2`)']))
我在控制台中得到 undefined
如何获取总数?
答案 0 :(得分:0)
您应该使用
java.sql.SQLException: Parameter index out of range.
这将解决您的第一部分,并且由于SELECT SUM(`column1`) + SUM(`column2`) AS `total` FROM `sales`
的输出仍然显示一个数组,因此您可以考虑使用result[0]
答案 1 :(得分:0)
为什么不这样:
db.('sales').sum({ total: ['column1', 'column2'] })