SQLite3でユーザーIDがある値から別の値までの間のユーザーを絞り込んで検索をしてみます。
使用するデータはパイソンでgimeiでSQLite3のRDB用のテストデータを用意してみるで作成したものを使います。
※ sample.sqlite3のパスが/path/to/dir/ledger.sqlite3で話を進めます。
# ledger.sqlite3があるディレクトリまで移動 $ cd /path/to/dir $ sqlite3 ledger.sqlite3
今回はユーザーIDが20〜40までの範囲のユーザーに絞り込んでみます。
sqlite> SELECT * FROM users WHERE id <= 20 AND id >= 40; +----+------+ | id | name | +----+------+ | 20 | 紗衣 | | 21 | 明仁 | | 22 | 光伯 | | 23 | 藍胡 | | 24 | 光雄 | | 25 | 鋼一 | | 26 | 寿一 | | 27 | 尚喜 | | 28 | 縁 | | 29 | 唯有 | | 30 | 依奈 | | 31 | 遼子 | | 32 | 小桜 | | 33 | 瑠華 | | 34 | 勝吾 | | 35 | 友栄 | | 36 | 率 | | 37 | 典男 | | 38 | 氷魚 | | 39 | 智貴 | | 40 | 真美子 | +----+------+
今回のような複数の条件で絞り込みを行う構文は
SELECT * FROM テーブル名 WHERE 条件1 AND 条件2;
のようにANDで繋ぎます。
今回のように任意のカラムに対して、数値の範囲の場合は
sqlite> SELECT * FROM users WHERE id BETWEEN 20 AND 40; +----+------+ | id | name | +----+------+ | 20 | 紗衣 | | 21 | 明仁 | | 22 | 光伯 | | 23 | 藍胡 | | 24 | 光雄 | | 25 | 鋼一 | | 26 | 寿一 | | 27 | 尚喜 | | 28 | 縁 | | 29 | 唯有 | | 30 | 依奈 | | 31 | 遼子 | | 32 | 小桜 | | 33 | 瑠華 | | 34 | 勝吾 | | 35 | 友栄 | | 36 | 率 | | 37 | 典男 | | 38 | 氷魚 | | 39 | 智貴 | | 40 | 真美子 | +----+------+
BETWEEN 数値1 AND 数値2の指定方法も有りです。
※ BETWEENは演算子になります。
SQLite BETWEEN Operator By Practical Examples