tSQL

Order By

Learn how to use the orderBy method in tSQL.

The orderBy clause sorts query results based on one or more columns or expressions. Results can be sorted in ascending (asc) or descending (desc) order.

db.selectFrom("users")
  .select(["id", "email", "created_at"])
  .orderBy("created_at", "desc")
  .orderBy("email") // 'asc' by default
  .execute();

Multiple Columns

db.selectFrom("users")
  .select(["id", "email"])
  .orderBy(["created_at desc", "email"])
  .execute();

SQL Expressions

import { sql } from "kysely";

db.selectFrom("users")
  .select(["id", "first_name", "last_name"])
  .orderBy(sql`concat(first_name, ' ', last_name)`)
  .execute();

Dynamic Sorting

const { ref } = db.dynamic;

function sortUsers(orderByColumn: string) {
  return db
    .selectFrom("users")
    .select(["id", "email"])
    .orderBy(ref(orderByColumn))
    .execute();
}