Knex - Select 多个表格和订单

Knex - Select multiple tables and order

如何将其翻译成 knex.js?

SELECT id, 
       Sum(x.kills) AS total 
FROM   (SELECT id, 
               kills 
        FROM   bedwars_player_solo 
        UNION ALL 
        SELECT id, 
               kills 
        FROM   bedwars_player_duo 
        UNION ALL 
        SELECT id, 
               kills 
        FROM   bedwars_player_comp_clan) x 
GROUP  BY id 
ORDER  BY total DESC 
LIMIT  10; 

我相信你可以这样写

knex.select('id', knex.raw('SUM(x.kills)'))
.from(function() {
  knex.select('id','kills').from('bedwars_player_solo')
  .unionAll(
    knex.select('id','kills').from('bedwars_player_duo'),
    knex.select('id','kills').from('bedwars_player_comp_clan')
).as('x')
}).groupBy('id')
.orderBy('total', 'desc')