Module

x/kysely_postgrs_js_dialect/mod.ts>kysely.AggregateFunctionBuilder#over

Kysely dialect for PostgreSQL using the Postgres.js client.
Latest
method kysely.AggregateFunctionBuilder.prototype.over
import { kysely } from "https://dotland.deno.dev/x/kysely_postgrs_js_dialect@v0.27.4/mod.ts";
const { AggregateFunctionBuilder } = kysely;

Adds an over clause (window functions) after the function.

Examples

const result = await db
  .selectFrom('person')
  .select(
    (eb) => eb.fn.avg<number>('age').over().as('average_age')
  )
  .execute()

The generated SQL (PostgreSQL):

select avg("age") over() as "average_age"
from "person"

Also supports passing a callback that returns an over builder, allowing to add partition by and sort by clauses inside over.

const result = await db
  .selectFrom('person')
  .select(
    (eb) => eb.fn.avg<number>('age').over(
      ob => ob.partitionBy('last_name').orderBy('first_name', 'asc')
    ).as('average_age')
  )
  .execute()

The generated SQL (PostgreSQL):

select avg("age") over(partition by "last_name" order by "first_name" asc) as "average_age"
from "person"

Parameters

optional
over: OverBuilderCallback<DB, TB>