Basics
Override: Select Variants
PostgreSQL overrides extend select helpers with object aliasing, distinct variants, and distinct-on clauses.
Select
Object entries are treated as column AS alias pairs.
const query = q
.select(
q.c("users.id"),
{ email: q.c("users.email") },
)
.from(q.t("users"))const query = q
.select(
q.c("users.id"),
{ email: q.c("users.email") },
)
.from(q.t("users"))Select Distinct
Use selectDistinct to emit SELECT DISTINCT.
const query = q
.selectDistinct(q.c("users.email"))
.from(q.t("users"))const query = q
.selectDistinct(q.c("users.email"))
.from(q.t("users"))Select Distinct On
PostgreSQL DISTINCT ON lets you keep the first row per grouping key.
const query = q
.selectDistinctOn(
[q.c("events.user_id")],
[q.c("events.user_id"), q.c("events.created_at")],
)
.from(q.t("events"))const query = q
.selectDistinctOn(
[q.c("events.user_id")],
[q.c("events.user_id"), q.c("events.created_at")],
)
.from(q.t("events"))