gpt4 book ai didi

mysql - Knex.js 选择平均值和舍入

转载 作者:行者123 更新时间:2023-11-29 01:35:32 34 4
gpt4 key购买 nike

我正在将应用程序从 PHP/MYSQL 切换到 Express,并使用 knex 连接到 MYSQL 数据库。在我的一个查询中,我使用了这样的语句(为简洁起见,我将其缩短。)

SELECT ROUND(AVG(Q1),2) AS Q1 FROM reviews WHERE id=? AND active='1'

如果我使用 knex.raw,我可以使用 ROUND,但我想知道是否有一种方法可以使用查询生成器来编写它。使用查询生成器使得在 View 端处理输出比尝试导航从原始查询返回的对象容易得多。

这是我目前在 knex 中拥有的内容。

let id = req.params.id;

knex('reviews')
//Can you wrap a ROUND around the average? Or do a Round at all?
.avg('Q1 as Q1')
.where('id', '=', id)

非常感谢!

最佳答案

您可以在select 中使用raw。在这种情况下:

knex('reviews')
.select(knex.raw('ROUND(AVG(Q1),2) AS Q1'))

查看文档 here有关处理原始语句的更多示例和良好做法。

关于mysql - Knex.js 选择平均值和舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289982/

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