如何更改 knex 中的总和值

Posted

技术标签:

【中文标题】如何更改 knex 中的总和值【英文标题】:How to alter the sum value in knex 【发布时间】:2018-10-26 09:19:29 【问题描述】:

如何将 Knex 中的结果值相乘

   db.select().table('sales')
    .whereBetween('date-s', [req.params.startDate,req.params.endDate])
    .sum(totalSales:"sales-after-returns")
    .avg(averageSales:"sales-after-returns")
    .sum(sixtyPercentOfTotalSale:"sales-after-returns" * 0.6)
    .then(result => res.json(result))
    ) 

前两行工作正常,我没有得到第三个值 sixtyPercentOfTotalSale,如何更改列的总和?

这是我在控制台中遇到的错误

未处理的拒绝类型错误:value.toLowerCase 不是函数

【问题讨论】:

【参考方案1】:

不确定这个问题,但这可能会奏效-只需使用 knex.raw-

db.select().table('sales')
    .whereBetween('date-s', [req.params.startDate,req.params.endDate])
    .columns([
      knex.raw('sum(sales-after-returns) as totalSales'),
      knex.raw('avg(sales-after-returns) as averageSales'),
      knex.raw('sum(sales-after-returns * 0.6) as sixtyPercentOfTotalSale'),
     ])
    .then(result => res.json(result))
    ) 

【讨论】:

以上是关于如何更改 knex 中的总和值的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改 Windows Phone 中设置器值中的图像

Knex:如何在 knex 中的有子句中编写 ARRAY_AGG?

如何获取从 Knex 返回的值(数组中的对象,即数组中的对象)

Knex - 已经是最新的

如何使用 Javascript 从输入框值中获取总和?

如何在 knex.js 中的“join”的“on”条件下使用“and”