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