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