技術ブログ

プログラミング、IT関連の記事中心

Knex.jsで複数の条件でソートする方法

目次

Knex.jsで複数の条件でソートする方法

Knex.jsは、SQLクエリビルダーとして人気があります。
この記事では、Knex.jsを使用して、複数の条件でのソート方法について解説します。

基本的なソートの方法

Knexでの基本的なソートは、orderByメソッドを使用して行います。
例えば、usersテーブルでnameを昇順でソートしたい場合は以下のように記述します。

knex('users').orderBy('name', 'asc').then(users => {
  console.log(users);
});

このクエリは、次のSQL文に変換されます。

SELECT * FROM users ORDER BY name ASC;

複数の条件でのソート

複数のフィールドでのソートを行いたい場合は、orderByメソッドを連鎖的に使用します。
例えば、usersテーブルで、last_nameを昇順に、次にfirst_nameを昇順にソートしたい場合は、以下のように書くことができます。

knex('users')
  .orderBy('last_name', 'asc')
  .orderBy('first_name', 'asc')
  .then(users => {
    console.log(users);
  });

このクエリは以下のSQLに変換されます。

SELECT * FROM users ORDER BY last_name ASC, first_name ASC;

まとめ

Knex.jsを使用することで、シンプルなメソッドチェーンを用いて複数の条件でのソートを容易に実装することができます。
この機能を利用することで、データベースからのデータ取得をより柔軟に行うことができるようになります。