Sql 将sum作为附加列而不是唯一列获取

Sql 将sum作为附加列而不是唯一列获取,sql,postgresql,knex.js,Sql,Postgresql,Knex.js,我想为一组特定的用户汇总所有订单金额,从我的数据库中按用户分组 我正在使用并执行此操作,如下所示: knex('orders') .select(['id_user', 'order_amount']) .whereIn('id_user', ['user-foo', 'user-bar']) .sum('order_amount') .groupBy('id_user') 这将返回以下总和: [ { sum: 500 } ] [ { sum: 600 } ] 但是现在没有办

我想为一组特定的用户汇总所有订单金额,从我的数据库中按用户分组

我正在使用并执行此操作,如下所示:

knex('orders')
  .select(['id_user', 'order_amount'])
  .whereIn('id_user', ['user-foo', 'user-bar'])
  .sum('order_amount')
  .groupBy('id_user')
这将返回以下总和:

[ { sum: 500 } ]
[ { sum: 600 } ]
但是现在没有办法知道哪个和哪个用户对应

这将是我理想的结果:

[ { id_user: 'user-foo', sum: 500 } ]
[ { id_user: 'user-bar', sum: 600 } ]

如何才能为每个总和获取
id\u user
列?

为此,您需要使用
knex.raw()

knex.select('id_user', knex.raw('SUM(order_amount)')).from('orders').groupBy('id_user');

为此,您需要使用
knex.raw()

knex.select('id_user', knex.raw('SUM(order_amount)')).from('orders').groupBy('id_user');