あとは普通に knex で作れる
const knex = require("knex")({ client: "pg" })
const query = knex.select("id", "group_id")
.from(
knex.select("id", "group_id", knex.raw("row_number() OVER (PARTITION BY group_id ORDER BY id DESC) as n"))
.from("table1")
.as("sub")
)
.where("n", 1)
.toQuery()
console.log(query)
// select "id", "group_id" from (select "id", "group_id", row_number() OVER (PARTITION BY group_id ORDER BY id DESC) as n from "table1") as "sub" where "n" = 1